コンテンツにスキップ

MPI

ABCIシステムでは、以下のMPIを利用できます。

利用するためには事前にmoduleコマンドを用いて利用環境を設定する必要があります。 インタラクティブノードでmoduleコマンドを用いると、コンパイル用環境変数(ヘッダファイルおよびライブラリのサーチパス)が自動で設定されます。 計算ノードでmoduleコマンドを用いると、コンパイル用環境変数に加え、実行用環境変数も自動で設定されます。

[username@es-a1 ~]$ module load hpcx/2.11
[username@es1 ~]$ module load openmpi/4.0.5
[username@es1 ~]$ module load intel-mpi/2021.7

以下では、ABCIシステムに導入されているMPIのバージョン一覧を示します。

NVIDIA HPC-X

計算ノード(A):

Module Version MPI Version
2.11 4.1.4rc1

Note

計算ノード(V)向けのNVIDIA HPC-Xは現在提供していません。

使用方法

ここでは、NVIDIA HPC-Xモジュールの使用方法を説明します。

ABCIで提供しているHPC-Xモジュールには以下の種類があります。用途に応じてモジュールを読み込んでください。

モジュール名 説明
hpcx 標準
hpcx-mt マルチスレッド対応
hpcx-debug デバッグ用
hpcx-prof プロファイリング用

また、ジョブ内でmpirunmpiexecコマンドを実行する際には-hostfileオプションにホストファイルを指定します。 ホストファイルはSGE_JOB_HOSTLIST環境変数に設定されています。

[username@es-a1 ~]$ qrsh -g groupname -l rt_AF=2 -l h_rt=01:00:0
[username@a0000 ~]$ module load hpcx/2.11
[username@a0000 ~]$ mpirun -np 2 -map-by ppr:1:node -hostfile $SGE_JOB_HOSTLIST ./hello_c
Hello, world, I am 0 of 2, (Open MPI v4.1.4rc1, package: Open MPI root@hpc-kernel-03 Distribution, ident: 4.1.4rc1, repo rev: v4.1.4rc1, Unreleased developer copy, 135)
Hello, world, I am 1 of 2, (Open MPI v4.1.4rc1, package: Open MPI root@hpc-kernel-03 Distribution, ident: 4.1.4rc1, repo rev: v4.1.4rc1, Unreleased developer copy, 135)

NVIDIA HPC-XではNCCL-SHARPプラグインを提供しています。 プラグインはHPC-Xのバージョンごとに対応するNCCLのバージョンが異なります。HPC-XとNCCLの対応は以下の表を参照してください。

HPC-Xバージョン NCCL バージョン
2.11 2.8、2.9、2.10、2.11

SHARPおよびNCCL-SHARPプラグインの使用方法についてはSHARPの利用を参照してください。

NVIDIA HPC-Xについて、より詳しい情報は公式ドキュメントを参照してください。

Open MPI

計算ノード(V):

openmpi/ Compiler version w/o CUDA
4.0.5 gcc/4.8.5 Yes
4.0.5 gcc/9.3.0 Yes
4.0.5 gcc/11.2.0 Yes
4.0.5 pgi/20.4 Yes
4.1.3 gcc/4.8.5 Yes
4.1.3 gcc/9.3.0 Yes
4.1.3 gcc/11.2.0 Yes
4.1.3 pgi/20.4 Yes

計算ノード(A):

openmpi/ Compiler version w/o CUDA
4.0.5 gcc/8.3.1 Yes
4.0.5 gcc/9.3.0 Yes
4.0.5 gcc/11.2.0 Yes
4.0.5 pgi/20.4 Yes
4.1.3 gcc/8.3.1 Yes
4.1.3 gcc/9.3.0 Yes
4.1.3 gcc/11.2.0 Yes
4.1.3 pgi/20.4 Yes

Intel MPI

intel-mpi/ Compute Node (V) Compute Node (A)
2021.7 Yes Yes