Install extra ML.NET dependencies

In most cases, on all operating systems, installing ML.NET is as simple as referencing the appropriate NuGet package.

dotnet add package Microsoft.ML

In some cases though, there are additional installation requirements, particularly when native components are required. This document describes the installation requirements for those cases. The sections are broken down by the specific Microsoft.ML.* NuGet package that has the additional dependency.

Microsoft.ML.TimeSeries, Microsoft.ML.AutoML

Both of these packages have a dependency on Microsoft.ML.MKL.Redist, which has a dependency on libomp.


No extra installation steps required. The library is installed when the NuGet package is added to the project.


  1. Install the GPG key for the repository

    sudo bash
    # <type your user password when prompted. this will put you in a root shell>
    # cd to /tmp where this shell has write permission
    cd /tmp
    # now get the key:
    # now install that key
    apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
    # now remove the public key file exit the root shell
  2. Add the APT Repository for MKL

    sudo sh -c 'echo deb all main > /etc/apt/sources.list.d/intel-mkl.list'
  3. Update packages

    sudo apt-get update
  4. Install MKL

    sudo apt-get install <COMPONENT>-<VERSION>.<UPDATE>-<BUILD_NUMBER>

    For example:

    sudo apt-get install intel-mkl-64bit-2020.0-088

    Determine the location of

    find /opt -name ""

    For example:

  5. Add this location to the load library path:

    sudo ldconfig /opt/intel/compilers_and_libraries_2020.0.166/linux/compiler/lib/intel64_lin


Install the library with Homebrew

wget && brew install ./libomp.rb && brew link libomp --force