🚀

【wsl+Ubuntuで数値解析】Intel MKLの導入方法

2024/01/07に公開

ゴール

  • 数値解析の計算コスト低減を目的に,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をインストールする場合,以下の操作が必要です.

  1. Intelの公開鍵を取得する必要があります.
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
  1. 取得した公開鍵をAPTに追加します.
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
  1. APIのキーリングに追加します.
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
  1. 公開鍵が追加されたら,アップデートを実行します.
sudo apt update
sudo apt upgrade -y

Intel oneAPIのインストール

事前準備が完了した後,以下のコマンドを実行して最新版をインストールします.

  1. Intel oneAPI Base Toolkitのインストールを行います.intelコンパイラやintel MKLを使用するだけであれば,Base Toolkitのみで問題ありません.
sudo apt install intel-basekit
  1. MPIによる並列計算を行いたい場合は,Intel HPC Toolkitも必要です.
sudo apt install intel-hpckit
  1. 上記の設定が完了した後,以下を~/.bashrcに追加し,設定を反映させます.(> /dev/nullをつけることで.bashrc読み込み時の表示が出なくなります.)
source /opt/intel/oneapi/setvars.sh > /dev/null

参考

まとめ

手が出にくい複雑なインストール手順を整理できました.これで数値解析の計算を高速化しましょう.本記事が皆さんの参考になれば幸いです.

Discussion