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?
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
Thanks & Regards
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\
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";
>> "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)
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,
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.
INTELGTDEBUGGERROOT=C:\Program Files (x86)\IntelSWTools\system_studio_2020\OpenCL\debugger\
INTEL_LICENSE_FILE=C:\Program Files (x86)\Common Files\Intel\Licenses
TBBROOT=C:\Program Files (x86)\IntelSWTools\system_studio_2020\compilers_and_libraries_2020.0.166\windows\tbb
Of course, all of these environment variables should be undefined.
Furthermore, these folders should be gone.
I'll now proceed with installing oneAPI 2021.4. We'll see what happens with TBBROOT.
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:
Thanks & Regards
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.
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.
>>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:
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:
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