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.
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:
- Intel® Data Analytics Acceleration Library (Intel® DAAL)
- Intel® Integrated Performance Primitives (Intel® IPP)
- Intel® Math Kernel Library (Intel® MKL)
- Intel® MPI Library
- Intel® OpenMP
- Intel® Threading Building Blocks (Intel® TBB)
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.
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.
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:
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.
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.
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.