Installing Intel® Performance Libraries Using the NuGet Channel

Published: 04/24/2019  

Last Updated: 01/14/2020

By Gergana S. Slavova, Pamela Harrison

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.

 

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.