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.shsudoを付けないことが大事.あとはターミナルの指示に従う.完了すると,$ 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と記載しておいた.これでいつでも使える状態になる.