Installing Intel® Performance Libraries Using the NuGet Channel

ID 658342
Updated 1/14/2020
Version Latest
Public

author-image

By

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® oneAPI Base & HPC Toolkit 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, oneMKL 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:

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

Intel® IPP

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, and osx-x64 Intel OpenMP and Intel TBB packages
oneMKL intelmkl.devel.<platform>, intelmkl.static.<platform> win-x64, win-x86, linux-x86, linux-x64, and osx-x64 Intel OpenMP and Intel TBB packages

oneMKL (Cluster Components)

intelmkl.devel.cluster.<platform>, intelmkl.static.cluster.<platform> win-x64, linux-x64, osx-x64 oneMKL 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 oneMKL 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
oneMKL intelmkl.redist.<platform> win-x64, win-x86

oneMKL (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.

Have Questions?

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