Intel MPIライブラリ

バージョン モジュールファイル名 システムA システムB/C システムG クラウドシステム 備考
2024.0 intel/2024.0 + + - + 2024年4月導入. Intelコンパイラ + MKL + TBB
2023.2 (default) intel/2023.2 + + - + 2024年4月導入. Intelコンパイラ + MKL + TBB
2023.2-rt intel/2023.2-rt + + - + 2024年4月導入. ランタイムライブラリ
2023.1 intel/2023.1 + + - + 2023年6月導入.
2023.1-rt intel/2023.1-rt + + - + 2023年6月導入. ランタイムライブラリ
2022.3 intelmpi/2022.3 + + - + 2022年11月導入
2022.3-rt intelmpi/2022.3-rt + + - + 2022年11月導入. ランタイムライブラリ

注:Intel MPIの個別のバージョンではなく、Intel OneAPI の包括的なバージョンで記載しています。

+ : すべてのユーザが利用可能
- : 利用不可

Intel MPIで提供可能なスレッド並列サポートレベルは、MPI_THREAD_MULTIPLEです。各スレッドから自由にMPI関数を呼び出すことができます。

コンパイルコマンド(Intelコンパイラ)

言語 コマンド 実行形式
Fortran mpiifort mpiifort オプション ファイル名
C mpiicc mpiicc オプション ファイル名
C++ mpiicpc mpiicpc オプション ファイル名

コンパイルコマンド(GNUコンパイラ)

言語 コマンド 実行形式
Fortran 95 mpif90 mpif90 オプション ファイル名
Fortran 77 mpif77 mpif77 オプション ファイル名
C mpigcc mpicc オプション ファイル名
C++ mpigcxx mpicxx オプション ファイル名

コンパイル例

$ mpiifort -O3 -parallel sample_mpi.f90

コンパイルしたMPIプログラムを実行するためには、 会話型処理またはバッチ処理を利用し、計算ノード上でプログラムを起動する必要があります。 詳細は、 プログラム実行例 をご覧ください。

会話型処理は tssrun コマンドを使用することで簡易に実行可能です。--rsc オプションにより、確保するリソース量を調整することが可能です。 tssrunコマンドの詳細については、 会話型処理 のページをご覧ください。

MPIプログラムを8プロセスで実行する場合

$ tssrun --rsc p=8 ./a.out

ハイブリッド並列の場合(MPI 4プロセス、OpenMP 8スレッド)

$ tssrun --rsc p=4:t=8:c=8 ./a.out

バッチ処理は、Slurmのオプションと処理内容を記載したジョブスクリプトを用意し、sbatchコマンドで処理を依頼する必要があります。 以下に例を示しますが、オプション等の詳細については、 バッチ処理 のページをご覧ください。

MPIプログラムを8プロセスで実行する場合

$ cat sample.sh
#!/bin/bash
#============ SBATCH Directives =======
#SBATCH -p gr19999b
#SBATCH -t 1:0:0
#SBATCH --rsc p=8
#SBATCH -o %x.%A.out

#============ Shell Script ============
srun ./a.out
$ sbatch sample.sh

ハイブリッド並列の場合(MPI 4プロセス、OpenMP 8スレッド)

$ cat sample.sh
#!/bin/bash
#============ SBATCH Directives =======
#SBATCH -p gr19999b
#SBATCH -t 1:0:0
#SBATCH --rsc p=4:t=8:c=8:m=8G
#SBATCH -o %x.%A.out

#============ Shell Script ============
srun ./a.out
$ sbatch sample.sh