Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

[solved] no libmkl_tbb_thread.a after installation

Intel_C_17
Beginner
610 Views

 

Hello,

I just finished to install a 2016 beta version of Intel parallel studio XE on centOS 7 (parallel_studio_xe_2016.0.035). I used the link advisor website to obtain the arguments list for linking and compiling (I want to link statically my executable and I am using MKL and TBB). To link my executable, I used (as given by the link advisor):

 -Wl,--start-group ${MKLROOT}/lib/intel64/libmkl_intel_ilp64.a ${MKLROOT}/lib/intel64/libmkl_core.a ${MKLROOT}/lib/intel64/libmkl_tbb_thread.a -Wl,--end-group -ltbb -lstdc++ -lpthread -lm

When I compile, I have no error but when I link I have an error saying:

icpc: error #10236: File not found:  '/opt/intel/mkl/lib/intel64/libmkl_tbb_thread.a'

I checked with a locate (after an updatedb) if the file was not located at another place. I do not have this file anywhere on my system. What am I missing? Is there a step to do during the installation that I missed?

Thanks for your help,

Pierre

 

0 Kudos
4 Replies
Intel_C_17
Beginner
610 Views

 

OK... This is a shame but I think I found the problem. I usually install parallel studio with the CLI interface. Out of despair, I tried the GUI installer and there it was: the TBB support for MKL. I did check a second time in the CLI installer but I did not see an option to install TBB in MKL... Is it normal?

Pierre

0 Kudos
Ying_H_Intel
Employee
610 Views

Hi Pierre, 

Thanks for the report.  Add notes for future users reference. as TBB support is not in default install list, you need customize installation when CLI install (./install.sh) as below image, select 10: Intel TBB threading Support . 

Best Regards,

Ying 

MKL_TBB_install.png

0 Kudos
Angel_C_1
Beginner
610 Views

Thanks a lot: Ying H (Intel), I had the same trouble and now support for TBB is back, why isn't a default anymore? Is there better compatibility with iomp?  Also thank you Intel C. for asking

0 Kudos
Ying_H_Intel
Employee
610 Views

Hi Angel, 

Thanks for the feedback. The main reason is OpenMP still has inherent advantages on performance and widely usage, while TBB is introduced in latest years and we are working to add more support. There is some notes in MKL user guide:

The TBB and Iomp are two kind of threaded ways, they are compatible with each other (can be used  in same application, for example, some of code is threaded by openmp, some of code is using TBB).  But considering MKL internal threading model , we recommend select one of them, either iomp or tbb, depending on your application's threading model 

As MKl User guide mentioned: In the parallel mode, Intel MKL utilizes multiple processor cores available on your system, uses the OpenMP* or Intel TBB threading technology, and requires a proper threading run-time library (RTL) to be linked with your application. Independently of use of Intel MKL, the application may also require a threading RTL. You should link not more than one threading RTL to your application.

Best Regards,

Ying 

0 Kudos
Reply