🚀
【wsl+Ubuntuで数値解析】Intel MKLの導入方法
ゴール
- 数値解析の計算コスト低減を目的に,intelが自社のCPU向けに最適化した線形代数ライブラリであるIntel Math Kernel Library (MKL)を導入します.
- 複雑なインストール手順を整理します.
Intel MKLとは
Intel MKLは,数学関数や基本的な線形代数演算など,高性能で最適化された数値計算ルーチンを提供するライブラリです.プログラマーや科学者が数値計算にて高速なコードを開発するために広く利用されています.
結果
- 自作のC++の有限要素法コードにて,MKLを利用したスパースソルバー(PARDISO)を利用でき,プログラムの高速化が可能となりました.
- 手順が複雑で,失敗しやすいインストール手順が整理され,導入コストを低減できました.
- 自作プログラムの導入資料に本記事を活用することで,開発メンバーへの説明が効率化できました.
作業環境
- Windows11
- wsl2
- Ubuntu
- VSCode
- cpp
事前準備
現在は,Intel oneAPIのパッケージにMKLが統合されているため,Intel oneAPIの導入を行います.
初めてIntel oneAPIをインストールする場合,以下の操作が必要です.
- Intelの公開鍵を取得する必要があります.
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
- 取得した公開鍵をAPTに追加します.
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
- APIのキーリングに追加します.
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
- 公開鍵が追加されたら,アップデートを実行します.
sudo apt update
sudo apt upgrade -y
Intel oneAPIのインストール
事前準備が完了した後,以下のコマンドを実行して最新版をインストールします.
- Intel oneAPI Base Toolkitのインストールを行います.intelコンパイラやintel MKLを使用するだけであれば,Base Toolkitのみで問題ありません.
sudo apt install intel-basekit
- MPIによる並列計算を行いたい場合は,Intel HPC Toolkitも必要です.
sudo apt install intel-hpckit
- 上記の設定が完了した後,以下を~/.bashrcに追加し,設定を反映させます.(> /dev/nullをつけることで.bashrc読み込み時の表示が出なくなります.)
source /opt/intel/oneapi/setvars.sh > /dev/null
参考
まとめ
手が出にくい複雑なインストール手順を整理できました.これで数値解析の計算を高速化しましょう.本記事が皆さんの参考になれば幸いです.
Discussion