バージョン | モジュールファイル名 | システム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