Cray Programming Environment (CPE) 環境におけるMPIプログラムの実行方法(暫定案)

XD2000 の Cray Programming Environment (CPE) 環境において計算実行に不具合があり、皆様にはご迷惑をおかけしております。
調査の結果、上記の現象ではMPIプロセス総数が64以上の場合にMPI_Init以降の処理が実行されなくなっていることがわかりました。

根本的な解決には至っていないため暫定策となりますが、以下のように ジョブスクリプトを変更することで、CPE 環境でMPIプログラムを実行することが可能です。

PrgEnv-cray, PrgEnv-gnu, PrgEnv-intel にて MPI_Init以降の処理に進むことが確認されています。

(1) PMIの置き換え
	
           export SLURM_MPI_TYPE=pmi2	
           export LD_LIBRARY_PATH=/lib64:${LD_LIBRARY_PATH}
(2) Cray MPICHの設定変更 
	
          export FI_OFI_RXM_USE_SRX=0
          export FI_VERBS_PREFER_XRC=0

Cray環境におけるジョブの実行方法は以下のようになります。
まずは以下のように環境設定用シェルスクリプトを実行し、必須のmoduleファイルをロードします。

$ source /work/opt/local/bin/enable-cpe.sh (for sh/bash)
$ source /work/opt/local/bin/enable-cpe.csh (for csh/tcsh)

GNUプログラミング環境または Intelプログラミング環境を使用する場合は以下のようにします。

$ module switch PrgEnv-cray PrgEnv-gnu (for gnu)
$ module switch PrgEnv-cray PrgEnv-intel (for intel)

これらのsourceやmodule switch のコマンドは .bashrc に記述することでXD2000ログイン時に自動で実行することが可能です。

コンパイルにはFortran, C, C++に対応して、それぞれコンパイルドライバ ftn, cc, CCを使用します。

$ [ftn|cc|CC] [compiler_option] program.[f90|c|cpp]

MPIプログラムをコンパイルする場合も ftn, cc, CC コマンドを使用します。
より詳細なコンパイルオプションについては以下のマニュアルのp.16-p.18をご覧ください。
https://www.cfca.nao.ac.jp/system/files/XD2000-QuickStartGuide-V1.5.pdf

ご不明な点などございましたら以下からお問い合わせください。
https://www.cfca.nao.ac.jp/consult