Intel® C++ Compiler 19.0 Developer Guide and Reference

Using Intel® Performance Libraries with Microsoft Visual Studio*

You can use the Intel® C++ Compiler with the following Intel® Performance Libraries that may be included as a part of the product:

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® Data Analytics Acceleration Library change the Use Intel® DAAL settings as follows:
    • No: Disable Use of Intel® DAAL.
    • Default Linking Method: Use Intel® DAAL libraries that depend on the settings for the Code Generation > Runtime Library property.
    • Multi-threaded Static Library: Use parallel static Intel® DAAL libraries.
    • Single-threaded Static Library: Use parallel sequential static Intel® DAAL libraries.
    • Multi-threaded DLL: Use parallel dynamic Intel® DAAL libraries.
    • Single-threaded DLL: Use parallel sequential static Intel® DAAL libraries.
  2. 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.
    • Multi-threaded Static Library: Use parallel static Intel® IPP libraries.
    • Single-threaded Static Library: Use parallel sequential static Intel® IPP libraries.
    • Multi-threaded DLL: Use parallel dynamic Intel® IPP libraries.
    • Single-threaded DLL: Use parallel sequential static Intel® IPP libraries.
  3. 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.

      Note

      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).
  4. To use Intel® Math Kernel Library in your project, change the Use Intel MKL property settings as follows:
    • No: Disable use of Intel® MKL libraries.
    • Parallel: Use parallel Intel® MKL libraries.
    • Sequential: Use sequential Intel® MKL libraries.
    • Cluster: 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 is added to the linker command line. Additionally, the MKL_ILP64 preprocessor definition is added to the compiler command line. If you do not make this selection, lp MKL libraries are used.

    Note

    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.

Note

The "Use Intel® MKL", "Use Intel® DAAL", "Use Intel® IPP", and "Use Intel® TBB" properties in Microsoft Visual Studio* mimic the behavior of the /Qmkl, /Qdaal, /Qipp and /Qtbb compiler options. The include and library paths to the performance library, which are installed with the selected Intel® C++ Compiler, are set up with these properties. To override this behavior refer to the article Usage of Intel® Performance Libraries with Intel® C++ Compiler in Visual Studio.

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