How to Build 64 bits (X64) Matrix Multiply Lab for Performance with Intel Threading Building Block

How to Build 64 bits (X64) Matrix Multiply Lab for Performance with Intel Threading Building Block

Professor Jose of USC have documented a crash error on a previous post on this forum (Startup Crash from running 06-ProgrammingWithThreadingBuildingBlocks_PS Courseware). This is part of Parallel Programming course and lab which you can download from

After some testing on one I7 system with 64 bit Win7 OS. I was able to reproduce the error. I did some research and found out that the issue is caused by the mixed build of 32bit and 64 bit environment. On 64bit Win 7, you will need to use X64 Compiler to build the pure 64 application to run.

The procedures below provides the information on how to set X64, C++ Include and Linker environment to use Intel X64 compiler to build a 64 bit application to run the TBB version of the lab on 64 bit Win 7:

  1. Click .sln file found in 01 Matrix MultiplyPS to start the Parallel Studio in Visual Studio 2008 SP1. Right-click TBB Matrix Multiply and Set as Start up Project.
  2. Set Intel C++ Compiler Pro as below:

3. Select 64 bit Build Components as below:

Make sure you select Release Build

X64 Platform

Version to use: Intel Compiler Pro 11.1. Built 048

Select TBB

4. Set TBB Include for C/C++ by Go to Property -> C/C++ -> General and then click the first line Additional Include Directories to open Additional Include Directories Pop-up Window to add C:\\ Program Files (x86)\\Intel\\Compiler\\11.1\\048\\tbb \\include or whatever version of TBB you have installed ( If you are using new Intel Compiler version 11, the TBB is included in Compiler package, and TBB folder is located under compiler folder). The Parallel Studio will change it to software $() link as below:

5.Set TBB Linker Go to Property -> Linker ->General and select the Additional Library Directories from the 3rd line from bottom add C:\\ Program Files (x86)\\Intel\\Compiler\\11.1\\048\\tbb\\intel64\\vc9\\lib as below:

6.Follow the lab document: lab-ThreadingForPerformanceWithThreadingBuildingBlocks-Lab.doc, you will be able to run the lab:

On my test, the 64 bit TBB Version of Matrix Multiply run 3.7 times faster than the Serial Version on a I7 8-core system.

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.