Intel MKL, IPP, TBB, DALL, MPI(Performance ライブラリ)のインストール(Ubuntu 上)

Intel Performance ライブラリは,Intel のプロセッサで動く高速数値演算ライブラリ

Intel MKL, Intel IPP, Intel TPP, Intel DALL, Intel MPI が含まれる.

先人に感謝.

関連する外部ページhttps://software.intel.com/en-us/articles/installing-intel-free-libs-and-python-apt-repo

前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.

Ubuntu のインストールは別ページ »で説明

sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

Wget のインストール

端末で,次のコマンドを実行する.

sudo apt -y update
sudo apt -y install wget

Intel MKL, IPP, TBB, DALL, MPI(Performance ライブラリ)のインストール(Ubuntu 上)

  1. ライセンス条項の確認

    https://software.intel.com/en-us/articles/end-user-license-agreement

    同意できない場合には,次に進んではいけない

  2. レポジトリの登録

    https://software.intel.com/content/www/us/en/develop/articles/installing-intel-free-libs-and-python-apt-repo.html に記載の手順による.

    端末で,次のコマンドを実行する.

    cd /tmp
    wget -O - https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB | sudo apt-key add -
    sudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list
    sudo apt -y update
    
  3. バージョンの確認

    端末で,次のコマンドを実行する.

    端末で,次のコマンドを実行する.すると,バージョン情報が表示される.次のインストールで用いる.

    sudo apt install intel-mkl-64bit intel-ipp-64bit intel-tbb intel-daal-64bit intel-mpi
    
  4. MKL, IPP, TBB, DALL, MPI のインストール操作

    先ほど表示されたバージョン情報により,端末で,次のようなコマンドを実行.

    sudo apt -y update
    sudo apt -y install intel-mkl-64bit-2020.1-102 intel-ipp-64bit-2020.1-102 intel-tbb-2020.2-102 intel-daal-64bit-2020.1-102 intel-mpi-2019.7-102
    
  5. /etc/ld.so.conf に次の 5 行を追加
    /opt/intel/daal/lib/intel64
    /opt/intel/ipp/lib/intel64
    /opt/intel/lib/intel64
    /opt/intel/mkl/lib/intel64
    /opt/intel/tbb/lib/intel64/gcc4.8
    
  6. 次のコマンドを実行
    sudo /sbin/ldconfig
    

Intel Python のインストール(Ubuntu 上)

  1. Intel Python 3 のインストール操作
    sudo apt -y update
    sudo apt -y install intelpython3
    
  2. 行列の積で時間比較
    import numpy as np
    import time
    N = 10000
    X = np.random.rand(N, N)
    Y = np.random.rand(N, N)
    s = time.time(); Z = np.dot(X, Y); print(time.time() - s)
    

    Intel Python3 の場合

    /debian/opt/intel/intelpython3/bin/python3 に続けてプログラムを実行.

    約: 7.6

    システムの Python3 の場合

    python3 に続けてプログラムを実行.

    約: 11.2