Intel® OneAPIをローカル環境に導入する
目次
Intel® OneAPIの登場によって,気楽にifort
などが使えるようになった.
Ubuntuだとapt
で簡単に導入できるが,非sudo
環境でのセットアップということで,
以下自分向けの備忘録.
環境
- Ubuntu 22.04 (WSL)
Toolkits
インストールできるToolkit のうち,今回は
をインストールする.なお,HPC Toolkit は Intel® Fortran Compiler や MPI Library を含む.
手順
以下,Base Toolkitのインストールを代表して記載する. 今回は,インストールをコマンドラインで行う.
- インストーラ(スクリプト)のダウンロード
Base Toolkit から “Linux”/“Online Installer”/“最新版” を選び, シェルスクリプト(l_BaseKit_[version].sh
)をダウンロードする. - シェルスクリプト(ここでは
l_BaseKit_p_20231.0.46401.sh
)を実行する.$ cd /path/to/script $ chmod 744 l_BaseKit_p_20231.0.46401.sh
sudo
を付けないことが大事.$ sh ./l_BaseKit_p_20231.0.46401.sh -a --cli
~/intel/oneapi/
にインストールされているはず.ちなみにsudo
だと,/opt/intel/oneapi/
になる - 環境変数設定ファイルの読み込み
インストールが完了しても,環境変数設定ファイル(setvars.sh
)を読み込まないと有効化されない.$ ifort Command 'ifort' not found, did you mean: command 'isort' from deb isort (5.6.4-1) command 'fort' from deb fort-validator (1.5.3-1build1) Try: sudo apt install <deb name>
~/intel/oneapi/setvars.sh
を読み込んでおくと$ source ~/intel/oneapi/setvars.sh ... $ ifort ifort: command line error: no files specified; for help type "ifort -help"
- HPC Toolkit も同様にインストール
その他
読み込むモジュールを指定できる
デフォルトではインストールした全てのモジュールを読み込む設定になっている.
特定のモジュールのみを読み込むには,config.txt
ファイルを作成して,スクリプトの引数に渡せば良いらしい.
例えば,compiler
, mpi
, mkl
のみを読み込む場合,config.txt
に
default=exclude
compiler=latest
mpi=latest
mkl=latest
と記載し,
$ source ~/intel/oneapi/setvars.sh --config=/path/to/config.txt
と実行する.
.bashrc
の記載に注意
実は最初にsource ~/intel/oneapi/setvars.sh
を試したときは,次のようなエラーが出た
:: ERROR: No env scripts found: No "env/vars.sh" scripts to process.
This can be caused by a bad or incomplete "--config" file.
Can also be caused by an incomplete or missing oneAPI installation.
困っていたが, Stack Overflowのこの記事 に助けられた.
どうも.bashrc
に
.bashrc
cdls(){
\cd "$@" && ls
}
alias cd="cdls"
と記載していたのがマズかったらしい.ls
の標準出力か何かに問題あるのかもしれない.
いずれにせよ,このaliasをコメントアウトすれば,問題なくsetvars.sh
を読み込める.
.bashrc
に加えておこう
自分の場合は常にOneAPIを使いたいので,上記のcdls()
の直前に,
.bashrc
source ~/intel/oneapi/setvars.sh --config=/path/to/config.txt
と記載しておいた.これでいつでも使える状態になる.