Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

How to install TBB?

Tux__the_Linux_Pengu
4,754 Views

Hello everyone!

I have a problem relating to TBB. I recently downloaded it (the Commercial-Aligned Open Source version) onto a Windows XP PC with Microsoft Visual Studio 2008 Express and Microsoft Visual Studio 2010 Express (All four products, Visual Basic, Visual C++, Visual C#, and Visual Web Developer for both installations). I found a tutorial (http://llpanorama.wordpress.com/tbb-tutorial/) but I dont have the required software (Microsoft Visual Studio 2005 Express, which is not supported anymore, or end-of-life, and which also cant be downloaded anymore). How can I install TBB with Visual Studio 2010 Express (or if I have to, Visual Studio 2008 Express)?

Thanks in advance!

Edit: I needed Microsoft Visual Studio 2005 Express for Microsoft Assembler

0 Kudos
1 Solution
Vladimir_P_1234567890
4,760 Views
You have used tbbvars.bat from the package converted via notepad++, right? generate_tbbvars.bat should be run by the build/gmake to produce righttbbvars.bat

--Vladimir

View solution in original post

0 Kudos
31 Replies
Tux__the_Linux_Pengu
3,930 Views

BTW, here are the specs of the system I am using for TBB (in case you need it):

CPU: AMD Phenom 9650 Quad-Core Processor (2.3 GHz) (TBB said in the release notes: "Non Intel processors compatible with the above processors"; with "above processors" it meant Intel processors)
RAM: 2 GB
Video Card: NVIDIA GeForce 9600 GSO

0 Kudos
Vladimir_P_1234567890
3,930 Views
hi,
you can use binary package of tbb
to set environement you can start \bin\ia32\vc10\tbbvars.bat file in the vs 2010 express command line and then launch vs by issuing 'devenv /useenv' command. Or set %PATH%, %LIB%, %INCLUDE% pointing to appropriate folders in the vs2010 GUI.
--Vladimir
0 Kudos
Tux__the_Linux_Pengu
3,930 Views
hi,
you can use binary package of tbb
to set environement you can start \bin\ia32\vc10\tbbvars.bat file in the vs 2010 express command line and then launch vs by issuing 'devenv /useenv' command. Or set %PATH%, %LIB%, %INCLUDE% pointing to appropriate folders in the vs2010 GUI.
--Vladimir

Thanks! I'll tell you if it works! :-)

0 Kudos
Tux__the_Linux_Pengu
3,930 Views
hi,
you can use binary package of tbb
to set environement you can start \bin\ia32\vc10\tbbvars.bat file in the vs 2010 express command line and then launch vs by issuing 'devenv /useenv' command. Or set %PATH%, %LIB%, %INCLUDE% pointing to appropriate folders in the vs2010 GUI.
--Vladimir

Thanks! I'll tell you if it works! :-)

It doesn't work. :-( I moved the contents of the unzipped dir to C:\Program Files\Intel\TBB\3.0 Update 1 Commercial-Aligned Release\ and went to its bin folder with vs command prompt 2010. Next, I typed tbbvars. A list of arguments came up, so I reran tbbvars with the arguments I needed, ia32 and vs2010. I got the following error:
The system cannot find the batch label specified - ParseArgs
I looked into the batch file and there it was, ParseArgs:

:ParseArgs

:: Parse the incoming arguments

if /i "%1"=="" goto SetEnv

if /i "%1"=="ia32" (set TBB_TARGET_ARCH=ia32) & shift & goto ParseArgs

if /i "%1"=="intel64" (set TBB_TARGET_ARCH=intel64) & shift & goto ParseArgs

if /i "%1"=="vs2005" (set TBB_TARGET_VS=vc8) & shift & goto ParseArgs

if /i "%1"=="vs2008" (set TBB_TARGET_VS=vc9) & shift & goto ParseArgs

if /i "%1"=="vs2010" (set TBB_TARGET_VS=vc10) & shift & goto ParseArgs

if /i "%1"=="all" (set TBB_TARGET_VS=vc_mt) & shift & goto ParseArgs


For some reason, the batch file can't find it! :-( Do you know what's going on?
0 Kudos
mcbphd
Beginner
3,930 Views
I had vaguely similar issues running the sample code using Visual Studio 2010 Professional. I needed to modify copy_libraries.bat in examples\common. I added this after line 40:

if ("%VS100COMNTOOLS%") NEQ ("") set vc_dir=vc10

I believe this change and setting the environment variable TBB30_INSTALL_DIR was all that was required to build from from the *_cl.sln files (there will be a conversion required).

For meaningful output, I sometimes had to run from the command line (use the Visual Studio 2010 command prompt).

I also saw what I interpreted as timing issues when building a solution containing several projects (e.g., sub_string_finder). One or more projects will have an error resembling this:

2>FileTracker : error FTK1011: could not create the new file tracking log file: C:\Users\mcb\AppData\Local\Temp\tbb_examples\sub_string_finder_cl\x64\Release\link.read.1.tlog. The file exists.

However the easy work around is to build by project.

HTH.

-Michael
0 Kudos
Vladimir_P_1234567890
3,930 Views
For some reason, the batch file can't find it! :-( Do you know what's going on?

Somehow this file contains linux end-of-lines. Could you run unix2dos utility on that file?

I'll try to find out why it contains linux eol.

thanks
--Vladimir

0 Kudos
Tux__the_Linux_Pengu
3,930 Views
Hi Nav!

Just so you know, I don't really use Linux. (I dual-boot Kubuntu and Windows XP, but Kubuntu got corrupted when I tried to upgrade. Some day I'll have to fix it.) My problem's on Windows XP. "Tux, the Linux Penguin" is just my display name. :-) Thanks for replying though.
0 Kudos
Tux__the_Linux_Pengu
3,930 Views
Hi Vladmir!

I ran unix2dos in cygwin on tbbvars.bat, and then ran tbbvars. There were no error messages. However, I don't think the paths got updated. (There was nothing related to tbb in the path) Did unix2dos affect the functionality of tbbvars.bat? Sorry this is taking so long!
0 Kudos
Tux__the_Linux_Pengu
3,930 Views

I just calculated the md5 hashes. The first one is after unix2dos. The second one is before.

4f0009046530620836d93d6f5e7fe9e0 tbbvars.bat
5529187f5eb823d13be2d1bc3be68c2f tbbvars.bat

EDIT: I compared them with notepad++, but found no differences. Maybe notepad++ shows linux eols and dos linebreaks as the same... :-/

0 Kudos
Tux__the_Linux_Pengu
3,930 Views
Hi Michael!

Thanks for responding! The line you told me to add was already there. I set the TBB30_INSTALL_DIR and ran copy_libraries.bat, but there was an error: Error occured in libraries copying during post-build step. copy_libraries.bat probably needs some arguments. Can you give more clear instructions? Thanks!
0 Kudos
Tux__the_Linux_Pengu
3,930 Views
Thanks to everyone who responded! None of the responses were the solution though. Sorry this is taking so long!
0 Kudos
mcbphd
Beginner
3,930 Views
This script is invoked as a Post-Build Event when you build using Visual Studio. I'm looking at the fibonacci sample right now; with Configuration set to Debug and Platform set to Win32, the arguments resolve to:

ia32 debug "$(OutDir)"

To be honest, I may have sent you in the wrong direction. I'm using Visual Studio 2010 Professional - I didn't realize the limitations of Visual Studio 2010 Express until I read your linked tutorial. FYI, you can download and use Professional free for 3 months.

-Michael

0 Kudos
IDZ_A_Intel
Employee
3,929 Views
Ah! :) btw, there's another person too on the forum who had asked about TBB installation on Linux. I thought I'd help you both in one go. Two birds with one arrow :)
Sorry I didn't check twice before posting.
0 Kudos
Nav
New Contributor I
3,929 Views
Hey, how did my post above end up without my id on it. I remember that immediately after I had posted it, I was already logged out. I thought I had logged out myself, but I feel this might be a bug in the logging in process of this website. Could someone check it?
0 Kudos
Tux__the_Linux_Pengu
3,929 Views
Quoting mcbphd
This script is invoked as a Post-Build Event when you build using Visual Studio. I'm looking at the fibonacci sample right now; with Configuration set to Debug and Platform set to Win32, the arguments resolve to:

ia32 debug "$(OutDir)"

To be honest, I may have sent you in the wrong direction. I'm using Visual Studio 2010 Professional - I didn't realize the limitations of Visual Studio 2010 Express until I read your linked tutorial. FYI, you can download and use Professional free for 3 months.

-Michael

Hi Michael!

Thanks for the info! Now I know what copy_libraries.bat is. :-) Thanks again!

0 Kudos
Tux__the_Linux_Pengu
3,929 Views
Quoting nav
Ah! :) btw, there's another person too on the forum who had asked about TBB installation on Linux. I thought I'd help you both in one go. Two birds with one arrow :)
Sorry I didn't check twice before posting.

That's okay! :-)

0 Kudos
Vladimir_P_1234567890
3,929 Views
notepad++ is also good tool to convert eol on windows.
0 Kudos
Tux__the_Linux_Pengu
3,929 Views
notepad++ is also good tool to convert eol on windows.

Thanks for the tip! :-) I think I should try manually changing the paths on vs2010. Do you think I should? I'll tell you if it works.

0 Kudos
Tux__the_Linux_Pengu
3,073 Views

Update:I didn't manually change the paths, but just then I found something called generate_tbbvars.bat. I ran it, and it generated a tbbvars.bat file. Here are the contents:

[bash]@echo off
SET TBB30_INSTALL_DIR=
SET TBB_ARCH_PLATFORM=
SET TBB_TARGET_ARCH=
SET INCLUDE=%TBB30_INSTALL_DIR%include;%INCLUDE%
SET LIB=C:Program FilesIntelTBB3.0 Update 1 Commercial-Aligned Releasebin;%LIB%
SET PATH=C:Program FilesIntelTBB3.0 Update 1 Commercial-Aligned Releasebin;%PATH%
[/bash]
I ran it, and the paths were updated! However, when I ran the fibonacci example, the tbb include files were not detected. I had to insert the full path forthe includes to work. Even then, a library, tbb_debug.lib, was not found. Strange.
0 Kudos
Reply