LoginSignup
20
9

More than 5 years have passed since last update.

Intel MKLをAPTでインストールする

Posted at

MKLはIntelによって無料で提供されている数値計算ライブラリで、公式ページからインストーラを入手することでインストール出来る。

CUIの対話的なインストーラー・GUIインストーラー以外にも、APTによってインストールする方法が公開されている。Intelの解説ページがHTMLのソースコードが丸見えになっていて(私だけ?)コピペでサクッと実行できないのでメモついでにまとめる。

ついでに毎度行う環境変数の設定、コンパイル時の環境ごとのリンクラインの確認方法などもメモしておく。

APTリポジトリの設定

リポジトリのGPG-keyを設定する。

wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB

リポジトリを追加する

Intelの解説ページではライブラリごとに個別にリポジトリを登録する方法も記載されているが、ここでは全部のリポジトリをまとめて追加してしまう。

リポジトリのリストを取得して更新

sudo wget https://apt.repos.intel.com/setup/intelproducts.list -O /etc/apt/sources.list.d/intelproducts.list 
sudo apt-get update

インストール・アンインストール

次の変数をインストール対象の指定に用いる。利用可能なリスト一覧は下表や公式を参照
<COMPONENT>: インストールするライブラリ名
<VERSION>: 2017, ...
<UPDATE>: 0, 1, 2, ...
<BUILD_NUMBER>: ビルド番号

インストール方法

インストール時のコンポーネント指定:

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

Example:

sudo apt-get install intel-mkl-2018.3-051

アンインストール方法

アンインストール時のコンポーネント指定:

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

Example:

sudo apt-get autoremove intel-mkl-2018.2-046

環境変数等の設定

基本的には手動でインストールした時のデフォルト設定と同様に/opt/intel/mklにライブラリが入るので、/opt/intel/mklに含まれるmklvars.shを.bashrcに登録しておく。
Examples:

source /opt/intel/mkl/bin/mklvars.sh intel64 lp64

コンパイル時のリンク設定の調べ方

Intel® Math Kernel Library Link Line Advisor:各コンパイラや環境に応じたコンパイラに与える設定を教えてくれる。上で設定した環境変数を利用しているので先に設定しておく。

NumpyのMKLなどと自分で入れたMKLが干渉する場合の設定

intelMKLを用いたライブラリとNumpyを併用した際に生じるエラーの解消」これによって副作用が生じないかどうかはわからない。

参考資料

上記リポジトリ追加により利用可能なライブラリごとのバージョン情報一覧。最新情報は公式を確認。

ライブラリとアーキテクチャに対応するコンポーネント

COMPONENT VERSION UPDATE BUILD_NUM
Intel® MKL 2017 2 50
2017 3 56
2017 4 61
2018 0 33
2018 1 38
2018 2 46
2018 3 51
Intel® IPP 2017 2 50
2017 3 56
2018 0 33
2018 1 38
2018 2 46
2018 3 51
Intel® TBB 2017 6 56
2017 8 61
2018 0 33
2018 2 46
2018 4 51
Intel® DAAL 2017 3 56
2017 4 61
2018 0 33
2018 1 38
2018 2 46
2018 3 51
Intel® MPI Library 2018 2 46
2018 3 51

ライブラリとアーキテクチャに対応するコンポーネント

Component COMPONENT Target Architecture
Intel® Math Kernel Library intel-mkl 32bit & 64bit
intel-mkl-32bit 32bit
intel-mkl-64bit 64bit
Intel® Integrated Performance Primitives intel-ipp 32bit & 64bit
intel-ipp-32bit 32bit
intel-ipp-64bit 64bit
Intel® Threading Building Blocks intel-tbb 32bit & 64bit
Intel® Data Analytics Acceleration Library intel-daal 32bit & 64bit
intel-daal-32bit 32bit
intel-daal-64bit 64bit
Intel® MPI Library intel-mpi 64bit
20
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
9