Installing Intel® Performance Libraries Using the NuGet Channel

This page provides general notes on how the Intel® Performance Libraries are distributed via the NuGet channel.

These software development tools are also available as part of the Intel® Parallel Studio XE and Intel® System Studio products. These products include enterprise-level Intel® Online Service Center support. You can get free versions of these libraries through the Free Intel® Performance Libraries Program which only offers community-based support.

Overview

NuGet is a Microsoft-supported mechanism for sharing compiled code.  It also defines how the packages are created, hosted and consumed, and it provides the tools for each of those roles.

Intel® Performance Libraries packages provided via the NuGet distribution channel include:

Packages are distributed under the Intel Simplified Software License. By downloading these Intel® Performance Libraries you agree to the terms and conditions stated in the aforementioned license.

Installation Notes

The packages provide support for Linux*, Windows* and macOS* platforms and can be found at nuget.org. For details on the installation process, please refer to the Microsoft* documentation.

Description of the packages

Intel® Performance Libraries for NuGet include both development and runtime options.

To make it more convenient for the user, the libraries are divided to devel and static packages corresponding to the different linking types. The Intel® IPP, Intel® MKL and Intel® DAAL libraries are also split into x64 and x86 versions in order to reduce the overall package size.

Development Packages

For those building their C/C++ applications and linking with the Intel® Performance Libraries, the devel (with dynamic linking) and static (with static linking) packages can be used. They include libraries as well as C interfaces. The full list of packages is shown at the table below:

Library

Package ID

Platform Availability

Dependencies

Intel® MPI Library

intelmpi.devel.<platform>

win-x64, linux-x64

N/A

Intel® OpenMP

intelopenmp.devel.<platform>

win, linux, osx

N/A

Intel® TBB

inteltbb.devel.<platform>

win, linux, osx

N/A

Intel® DAAL

inteldaal.devel.<platform>, inteldaal.static.<platform>

win-x64, win-x86, linux-x86, linux-x64, and osx-x64

Intel TBB package

Intel® IPP

intelipp.devel.<platform>, intelipp.static.<platform>

win-x64, win-x86, linux-x86, linux-x64 (*see Known Limitations below), and osx-x64

Intel OpenMP and Intel TBB packages

Intel® MKL

intelmkl.devel.<platform>, intelmkl.static.<platform>

win-x64, win-x86, linux-x86, linux-x64, and osx-x64

Intel OpenMP and Intel TBB packages

Intel® MKL (Cluster Components)

intelmkl.devel.cluster.<platform>, intelmkl.static.cluster.<platform>

win-x64, linux-x64, osx-x64

Intel MKL and Intel MPI Library packages

All the specified dependencies will be downloaded automatically by the NuGet Package Manager. The devel packages on Windows also have a dependency on the runtime redist packages (see the next section).

NOTE: Intel DAAL, Intel IPP and Intel MKL devel and static packages contain several configurations (e.g., related to the threading layer, interface layer, linking type, etc.), so if building C/C++ project in Visual Studio, one should go to Project Properties and choose the preferable option first.

Runtime Packages

The runtime packages are runtime redistributable libraries that will automatically load optimizations specific to your Intel hardware (including, but not limited to, vectorization). They can be used by another NuGet package that depends on these runtimes. The redist packages are only available on Windows platforms.

Library

Package ID

Platform Availability

Intel® MPI Library

intelmpi.redist.<platform>

win-x64

Intel® OpenMP

intelopenmp.redist.<platform>

win

Intel® TBB

inteltbb.redist.<platform>

win

Intel® DAAL

inteldaal.redist.<platform>

win-x64, win-x86

Intel® IPP

intelipp.redist.<platform>

win-x64, win-x86

Intel® MKL

intelmkl.redist.<platform>

win-x64, win-x86

Intel® MKL (Cluster Components)

intelmkl.redist.cluster.<platform>

win-x64

Notes and Known Limitations

  • For those working with C# applications, please make sure to update your libraries search path, as we currently do not provide scripts that set the environment with the packages. You may also find this topic useful.
  • For instructions on intelmpi.devel.<platform> and intelmpi.redist.<platform> packages usage, please refer to the README file inside the packages.
  • Currently, Visual Studio “Debug” mode is not supported with Intel® MKL NuGet packages, when Intel TBB threading is enabled.  This will be fixed in an upcoming release of the Intel Threading Building Blocks.
  • The Intel DAAL x86 development package (inteldaal.devel.win-x86) does not currently support automatic integration with Microsoft* Visual Studio* (all versions). In order to use the IDE, manually specify the Intel DAAL libraries using the Visual Studio* Project Properties menu by setting the following options: AdditionalIncludeDirectories, AdditionalLibraryDirectories, and AdditionalDependencies to the appropriate directories. This limitation will be fixed in an upcoming release.
  • The initial release will not include the 64-bit Intel IPP static libraries for Linux*: intelipp.static.linux-x64. This gap will be fixed in an upcoming release.

Have Questions?

Check out the FAQ
See our Get Help page for your support options.

 

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