LoginSignup
5
10

More than 1 year has passed since last update.

Intel oneAPI で並列計算環境構築 (Fortran + MPI + parallel HDF5 + FFTw)

Last updated at Posted at 2021-07-15

研究を始めたての4年生〜大学院生向けにLinux (CentOS7)での並列計算環境構築についてまとめる。

この記事ではIntel Fortranで並列版HDF5をソースからビルド(コンパイル)します。もちろん、Intel Cコンパイラも動きます。

余裕があるときに行ってください。3-4時間作業は覚悟!

(追記) Windows10 Linux Subsystem UbuntuではaptでIntelOneAPIをインストールできるが、HDF5をビルドするときに改行コードの問題でconfigureでエラーが出て通らないので、工夫する必要がある(調査中)。
 とりあえず、簡単に並列環境(gfortran + MPI + parallel HDF5)を構築するならば、以下でOK (Ubuntu用).
$ sudo apt install mpich libhdf5-mpich-dev

base toolkit と HPC toolkit のダウンロードとインストール

こちらの記事を参考に頑張る(1時間位かかる)。(インストール方法は Web & localで良い。)

出くわしたトラブルと対処については以下のようにメモを残しておくので、参考にしてください。

nss.x86_64, nss-devel.x86_64を探してインストール.

まだ,nssライブラリがないと言われるが無視してインストールを継続

GPUを使うにはOpenCVなどのインストールが必要だそうだが,時間がかかりそうなのでスキップ.

$source /opt/intel/oneapi/setvars.sh
でIntelの環境を読み込んだあとに
$which mpiifort
でmpiifortへのパスが通っているところまで確認して以下へお進みください。

parallel HDF5を自分でコンパイルしてIntel 環境で利用する

HDF5 source codeを以下からダウンロード
https://www.hdfgroup.org/downloads/hdf5/source-code/

解凍する

tar
tar zxvf hdf5-1.12.1.tar.gz

解凍フォルダへ移動

cd
cd hdf5-1.12.1

インストールフォルダの指定, オプションを設定

configure
$./configure --prefix=/opt/hdf5-1.12.1_oneAPI --enable-shared --enable-fortran --enable-parallel CC=mpiicc FC=mpiifort
 configure: error: C++ preprocessor "/lib/cpp" fails sanity check

というエラーには$sudo yum install gcc-c++

make
$make

makeには時間がかかるので5分くらい放置

インストールをsuで行い、他のユーザーも利用できるようにする。

$su -

rootになってから mpiへのパスを通っているかを確認しておく.

rootでパスが通ってなければ、ライブラリのリンクに失敗するので、rootになった後でも$source /opt/intel/oneapi/setvars.sh

$make install 

うまくいかない場合は、/opt/hdf5-1.** のフォルダを消して再度やり直す。

やり直す場合は、 ./configure の前に $make cleanをしてから。

hdf5-1.**/binへのパスを.bashrcに書いてしまっていたらパスを元に戻してターミナルを再起動してやり直す。

.bashrcにパスの設定を書く

最後に、パスの設定

.bashrc
export PATH="/opt/hdf5-1.12.1_oneAPI/bin/:$PATH"

これで完了です。
$ which h5pfc
で確認。
intel のコンパイルオプション-xCORE-AVX512が使えたらOK. 

5
10
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
5
10