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

compiling TBB for KNL

bencumming
Beginner
331 Views

I would like to compile TBB for KNL from source. I have - TBB 4.4 - Intel compilers version 2016.3.210 What is the best way to do this?

0 Kudos
3 Replies
Vladimir_P_1234567890
331 Views

Hello,

you don't need any special tricks to build tbb for knl, just build it for intel64 architecture. but for modules or your app that use tbb headers you can use knl specific keys like -xHost if you build on knl system or -xMIC-AVX512 if you build on different system.

--Vladimir

0 Kudos
bencumming
Beginner
331 Views

Thanks Vladimir!

By default the Makefile just uses the gcc I have on the system (4.9.3) in my case.

To clarify, I use the default gcc to make the tbb library, then use the KNL specific flags on my application?

Ben.

 

0 Kudos
Vladimir_P_1234567890
331 Views

Hello Ben,

Above instructions are for current (2016) Intel compiler. For gcc 4.9.3 instructions are pretty the same, use default 'make tbb tbbmalloc arch=intel64' to build the tbb library and then -mavx512f gcc flag to build your application.

More info:

https://gcc.gnu.org/gcc-4.9/changes.html

https://gcc.gnu.org/wiki/cauldron2014?action=AttachFile&do=get&target=Cauldron14_AVX-512_Vector_ISA_Kirill_Yukhin_20140711.pdf&utm_source=dlvr.it&utm_medium=tumblr

--Vladimir

0 Kudos
Reply