The standalone packages of Intel® MKL, Intel® IPP and Intel® DAAL are unusable if there is no previously installed Intel® TBB package

By Gennady Fedorov, Published: 09/06/2019, Last Updated: 12/04/2019

Problem description: 

Intel® Math Kernel Library (Intel MKL), Intel® Data Analytics Acceleration Library (Intel DAAL) and Intel® Integrated Performance Primitives (Intel IPP) customers who are using the standalone versions of these software products and linking with Intel®  Threading Building Blocks (Intel TBB) threading layers will see some kind of undefined reference problems as follows: "undefined reference to `tbb::interface7::internal::task_arena_base::internal_current_slot()" or  "threading.cpp:(.text+0xf0): undefined reference to `tbb::task_scheduler_init::initialize(int, unsigned long)" and many similar messages. 

The issue is caused by the packaging problem: not all of TBBs dynamic shared libraries were included in the standalone packages of  Intel MKL, Intel IPP, and Intel DAAL.

Affected Products:  

Intel®  Math Kernel Library,   Intel®  Data Analytics Acceleration Library, Intel®  Integrated Performance Primitives

Affected Versions:

Intel MKL version 2019, Intel DAAL version 2019, Intel IPP version 2019, including the initial versions and all updates. Please refer to these products release notes ( MKL Release Notes, IPP Release Notes and DAAL Release Notes).

Affected Operating Systems: 

Linux* OS

Work around for the problem: 

Install the full packages of either Intel® Parallel Studio XE Composer Edition or Intel® Parallel Studio XE Cluster Edition for Linux* OS. Please refer to the performance library installation guides ( Intel MKL Installation GuideIntel IPP Installation Guide, and Intel DAAL Installation Guide) to get more details about installation processes. 

You may also install the standalone Intel TBB package

Resolution:  The problem is scheduled to be fixed in Intel MKL/IPP/DAAL v.2020 Update 1. We will keep this article updated.

 

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804