Using Intel® Performance Libraries

The Intel® C++ Compiler includes the following Intel® Performance Libraries:

  • Intel® Integrated Performance Primitives (Intel® IPP)

  • Intel® Threading Building Blocks (Intel® TBB)

  • Intel® Math Kernel Library (Intel® MKL)

Use the property pages to specify Intel® Performance Libraries to use with the selected project configuration. The functionality supports both Intel® C++ and Microsoft Visual C++* project types.

To specify Intel® Performance Libraries, select Project > Properties. In Configuration Properties, select Intel Performance Libraries, then do the following:

  1. To use Intel® Integrated Performance Primitives, change the Use Intel IPP settings as follows:
    • No: Disable use of Intel® IPP libraries.
    • Default Linking Method: Use Intel® IPP libraries that depend on the settings for the Code Generation > Runtime Library property.
    • Shared DLL: Use parallel dynamic Intel® IPP libraries.
    • Multi-threaded Static Library: Use parallel static Intel® IPP libraries.
    • Single-threaded Static Library: Use parallel sequential static Intel® IPP libraries.
  2. To use Intel® Threading Building Blocks in your project, change the Use Intel TBB settings as follows:
    • No: Disable use of Intel® TBB libraries.
    • Use TBB: Set to Yes to use Intel® Threading Building Blocks.

    • Instrument for use with Intel® Threading Analysis Tools: Set to Yes to add the preprocessor definition TBB_USE_THREADING_TOOLS to the project property Preprocessor > Preprocessor Definitions .


      The TBB_USE_THREADING_TOOLS definition will be added only if the project property Code Generation > Runtime Library is set to Multi-threaded DLL (option MD).

  3. To use Intel® Math Kernel Library in your project, change the Use Intel MKL property settings as follows:
    • Parallel: to use parallel Intel® MKL libraries

    • Sequential: to use sequential Intel® MKL libraries

    • Cluster: to use cluster Intel® MKL libraries

    If your target platform is set to x64 , a final selection appears: Use ILP64 interfaces. If selected, the corresponding ilp MKL libraries will be added to the linker command line. Additionally, the MKL_ILP64 preprocessor definition will be added to the compiler command line. If you do not make this selection, lp MKL libraries will be used.


    Sets of libraries for each option depend on selected target platform and project properties defined by Code Generation > Runtime Library and Advanced > Calling Convention.

Additional settings for use with the Microsoft Visual C++* Platform Toolset are available on the Intel® Performance Libraries category, found at Tools > Options.

For more information, see the Intel® Integrated Performance Primitives, Intel® Threading Building Blocks, and Intel® Math Kernel Library documentation.

Optimization Notice

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

For more complete information about compiler optimizations, see our Optimization Notice.