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

oneTBB with TBB

WCost1
Beginner
2,335 Views

Hi,

I'm turning back to working with TBB and I'm ready to take up oneTBB.

 

Is there any advice for working with both in VS 2019?  I have the oneAPI Base Toolkit installed and I can see the TBB files in the Intel distribution folders.   When I got to "project properties >> Configuration >> Intel Libraries for oneAPI" I only see the settings asking if I want to use oneTBB in my TBB project that is maybe 18 months old.  For this project, I want to keep coding with plain old TBB.

 

The compiler problem is simple, it can't find "tbb/tbb.h" and when I code in the full path it still doesn't like it. So I suppose the issue has to do with the way System Studio would install TBB and the way the Base Tool Kit installs oneTBB.

 

Aside from technical advice, are there licensing issues?  When I was working with TBB in the past it was one another workstation and probably with a temporary license.  What's free?  What's not?

 

Will

0 Kudos
16 Replies
NoorjahanSk_Intel
Moderator
2,279 Views

Hi,

Thanks for reaching out to us.


>>The compiler problem is simple, it can't find "tbb/tbb.h"


As you want to use plain old TBB in VS, disable the oneTBB setting in configuration properties.

Instead, please try providing the path of the header files explicitly in Visual Studio setup under

>> configuration properties -> VC++ Directories -> Include Directories

And path of required library files under

>>configuration properties->Linker->General->Additional Library Directories


Please do let us know if you face any issues with the complete error log, so that it will help us to get some more insights.


>> are there licensing issues? 


Regarding any licensing issues, please post your questions under the below forum

https://community.intel.com/t5/Registration-Download-Licensing/bd-p/registration-download-licensing-...


Thanks & Regards

Noorjahan






WCost1
Beginner
2,267 Views

Hi Noorjahan,

 

Thanks for the advice.   There is only one error currently and that is  "tbb/tbb.h" is not found.  

There are a lot of files to choose from. What do you think of the choices below.

 

These are the paths to tbb.h on my system :

C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\include\oneapi\tbb.h
C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\include\tbb\tbb.h                  //I PICKED THIS ONE.
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\include\oneapi\tbb.h
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\include\tbb\tbb.h            

 

So now "VC++ Directories >> "Include Directories" is this:$(VC_IncludePath);$(WindowsSDK_IncludePath);%TBBROOT%; "C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\include";

 

These are the environment variables from "set tbb":

TBBROOT=C:\Program Files (x86)\Intel\oneAPI\tbb\latest\env\..
TBB_BIN_DIR=C:\Program Files (x86)\Intel\oneAPI\tbb\latest\env\
TBB_TARGET_ARCH=ia32
TBB_TARGET_VS=vc14

 

There are 16 tbb.lib paths:

C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\ia32\vc14\tbb.lib         //I PICKED THIS ONE.
C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\ia32\vc14_uwd\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\ia32\vc14_uwp\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\ia32\vc_mt\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\intel64\vc14\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\intel64\vc14_uwd\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\intel64\vc14_uwp\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\intel64\vc_mt\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\lib\ia32\vc14\tbb.lib                         
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\lib\ia32\vc14_uwd\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\lib\ia32\vc14_uwp\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\lib\ia32\vc_mt\tbb.lib                 
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\lib\intel64\vc14\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\lib\intel64\vc14_uwd\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\lib\intel64\vc14_uwp\tbb.lib
C:\Program Files (x86)\Intel\oneAPI\tbb\latest\lib\intel64\vc_mt\tbb.lib

 

So now "Linker >> General >> Additional Directories" is:  "C:\Program Files (x86)\Intel\oneAPI\tbb\2021.2.0\lib\ia32\vc14";

 

Will

 

 

NoorjahanSk_Intel
Moderator
2,223 Views

Hi,

>> "tbb/tbb.h" is not found

We tried the same paths that you have picked, but we are unable to reproduce the error.

Please find the attached project file that we have tried with tbb sample program in VS2019(16.9.0)

 

>>\oneapi\tbb.h

>>tbb\tbb.h

There is no difference in these files, as they come under oneTBB. you can see that tbb\tbb.h file is redirected to oneapi\tbb.h

Since all file locations you have mentioned comes under oneTBB, you can also try enabling the oneTBB setting in configuration properties, as it uses the files that you have mentioned.

 

Thanks & Regards,

Noorjahan.

 

WCost1
Beginner
2,189 Views

Thanks but the zip doesn't seem to have any sources.

 

WCost1_0-1633360680452.png

 

WCost1
Beginner
2,187 Views

We seem to code paths differently:

WCost1_1-1633360991594.pngWCost1_2-1633361107700.png

I've not seen the style used in the project setting file you sent.

 

WCost1
Beginner
2,146 Views

I'll uninstall System Studia and oneAPI and then resinstall oneAPI and see where that leads us.

 

More later.

 

 

WCost1
Beginner
2,099 Views

Hello Noorjahan,

I've uninstalled System Studio 2020, oneAPI 2021.2 and the Intel Hardware Accelleration thing that was probably for GPU and/or FPGA emulation.  I then rebooted.   It took the system perhaps 45 minutes to reboot but it seems to be working now.

 

I'm writing to show the uninstallers let some untidy residue as seen with the DOS set command.

>set intel
INTELGTDEBUGGERROOT=C:\Program Files (x86)\IntelSWTools\system_studio_2020\OpenCL\debugger\
INTEL_IPSXE_SAMPLES_COMMON_FOLDER=C:\downloads\intel\ipsxe2019_samples_win_20190327\tbb\common
INTEL_LICENSE_FILE=C:\Program Files (x86)\Common Files\Intel\Licenses

>set tbb
TBBROOT=C:\Program Files (x86)\IntelSWTools\system_studio_2020\compilers_and_libraries_2020.0.166\windows\tbb
TBB_TARGET_ARCH=ia32
TBB_TARGET_VS=vc14

 

Of course, all of these environment variables should be undefined.

 

Furthermore,  these folders should be gone.

WCost1_0-1633452279043.png

 

I'll now proceed with installing oneAPI 2021.4.  We'll see what happens with TBBROOT.

 

Will

 

 

 

 

WCost1
Beginner
2,094 Views

Now the installer is saying there needs to be a GPU driver installed.

WCost1_2-1633454071990.png

 

 

But the Intel Driver and Support Assistant seems to say nothing is wrong:

WCost1_1-1633454021817.png

 

 What to do?

WCost1
Beginner
2,045 Views

I ran the driver installer program suggested by the DSA (igfx_win_100.9864.exe) and got this result almost instantly:

 

WCost1_0-1633463276499.png

 

 

NoorjahanSk_Intel
Moderator
2,023 Views

Hi,

From the details which you have provided, we can see that you are using Intel(R) HD Graphics 4600 device, which is not supported by oneAPI.

 

 Please refer to the given link regarding supported system requirements:

 

https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-dpcpp-system-requirements...

https://software.intel.com/content/www/us/en/develop/articles/intel-graphics-developers-guides.html

 

Thanks & Regards

Noorjahan.

 

 

WCost1
Beginner
2,007 Views

Hi Noorjahan,

 

While I am glad to get the information from you, I am disappointed I didn't get this information in an easy to understand  message while testing a number of oneAPI GPU demo projects or during the installation of the recent build (2021.4) of oneAPI.

 

Will

WCost1
Beginner
2,004 Views

Hi Noorjahan,

 

While the installer did let me bypass oneAPI's lack of support for the Intel HD 4600 Video Adapter, I see the installer was able to make use of the NVidia card that is installed.  I suppose it is enough to call that a pleasant surprise.

 

WCost1_0-1633551437380.png

 

WCost1
Beginner
1,964 Views

Hi Noorjahan,

 

I've made progress with the path issue and I'm now dealing with deprecation issues, which is undesireable.

 

Are any of the TBB versions in the 2021.4 oneAPI distribution free of the oneAPI and TBB 2020 deprecations?

I have seen the document "The functionality deprecated in TBB 2020 and removed in oneTBB".

 

Below are some graphics to show how I got past the can't find "tbb/tbb.h" problem.

The combination of the folder name macros and putting the lib path in

the linker's Additional Dependencies field.

WCost1_1-1633640726219.png

 

WCost1_3-1633640852304.png

WCost1_4-1633640946050.png

 

Will

NoorjahanSk_Intel
Moderator
1,859 Views

Hi,


>>the installer was able to make use of the NVidia card that is installed


Currently, intel supports only intel devices(CPU, Accelerators)

you can refer to the below link for more details:

https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-dpcpp-system-requirements...


If you wanted/interested to use devices other than intel devices(like Nvidia) you can download opensource oneAPI.

You can refer to the below link to download opensourceoneAPI:

https://www.oneapi.io/open-source/


From the screenshot that you have provided, we can see the utilization of the Nvidia device, this may be due to some other application running in the background.



>>Are any of the TBB versions in the 2021.4 oneAPI distribution free of the oneAPI and TBB 2020 deprecations?


Could you please elaborate on this statement?


Is there any specif function of TBB that you were referring to? if yes, please do let us know.



Thanks & Regards

Noorjahan.


NoorjahanSk_Intel
Moderator
1,711 Views

Hi,


Could you please provide an update on your issue?

Also, please respond to the previous post in the community.


Thanks & Regards,

Noorjahan


NoorjahanSk_Intel
Moderator
1,576 Views

Hi,


I have not heard back from you, so I will close this inquiry now. If you need further assistance, please post a new question.


Thanks & Regards

Noorjahan.


Reply