*並列計算サーバ [#z8902a9c]
-並列計算サーバはSGI ICE-Xの144ノードで構成されています。
-1ノードあたり、2ソケット(24コア)の128GBのメモリを搭載した計算ノードが18ノードづつFDRスイッチに接続されており、このノード群をeicp1~eicp8と呼んでいます。
-並列計算サーバでは、大規模なMPI並列計算、MPI/OpenMPのハイブリッド計算が利用できます。
-原則的として、18ノードを1つのジョブで占有することになっており、以下のようなジョブでの利用を想定しています。
--18ノードx 24(MPIプロセス)
--18ノードx 2(MPIプロセス)x12(OpenMPスレッド)
--18ノードx 12(MPIプロセス)
--18ノードx 2(MPIプロセス)x6(OpenMPスレッド)
-ここでは、ジョブクラスG、Hでバッチジョブを投入する方法を紹介します。

**MPI並列計算 [#i9f5cbda]
-スクリプト例(ジョブクラスGで432並列のMPIプログラム(xhpl)を実行)~
 #!/bin/csh
 #$ -ac P=24
 #$ -ac n=432
 #$ -ac T=1
 #$ -jc G
 #$ -cwd
 mpiexec_mpt -np 432 dplace -s1 ./xhpl
EICシステムではMPIジョブの実行の際、''mpiexec_mpt''コマンドを使用してください。~
並列数432を-ac nとmpiexec_mptの引数に指定します。-ac Pは各ノードが搭載しているコア数24を指定します。(-ac P=24は原則固定です)~
また、スレッド数には -ac T=1を指定してください。これはハイブリッドでないことを意味します。MPIの場合は固定です。~
~
※432以外のMPIも流す場合も -ac n=432を指定してください。実際に利用するMPI数をmpiexec_mpt -np 256と指定することにより256MPI並列で実行できます。~
(ただし、432コアを確保して、空いているコアは他のジョブでは利用できません。)

**MPI/OpenMPハイブリッド並列計算 [#i9f5cbda]
-スクリプト例(ジョブクラスHでMPIが36プロセス、OpenMP12スレッドのハイブリッドプログラム(a.out)を実行)~
 #!/bin/csh
 #$ -ac P=2
 #$ -ac n=432
 #$ -ac T=12
 #$ -jc H
 #$ -cwd
 source ${TMP}/hybrid-mpi-$JOB_ID/env.csh
 mpiexec_mpt -np $TOTAL_PROCS omplace -nt $OMP_NUM_THREADS ./a.out
EICシステムではMPIジョブの実行の際、''mpiexec_mpt''コマンドを使用してください。~
合計の並列数432を-ac nの引数に指定します。-ac Pは各ノードで使用するMPIプロセス2を指定します。~
また、スレッド数には -ac T=12を指定してください。これはOpenMPのスレッド数を意味します。~
以下の行は自動的にMPIプロセス数、OpenMPスレッド数を割り当てます。~
 source ${TMP}/hybrid-mpi-$JOB_ID/env.csh
 mpiexec_mpt -np $TOTAL_PROCS omplace -nt $OMP_NUM_THREADS ./a.out
mpiexec_mptやomplaceに実際の値を入れても構いません。ここでは自動的に36と12が入ります。~
''Tの値に指定できるのは6、12です。PとTの積が24でないとジョブは投入できません''
----
**MPIコア飛ばし [#oeeffa2b]
-スクリプト例(ジョブクラスGで各ノードにMPIが12プロセスx18ノードで合計216のMPI並列(a.out)を実行)~
 #!/bin/csh
 #$ -ac P=12
 #$ -ac n=216
 #$ -ac T=1
 #$ -jc G
 #$ -cwd
 setenv MPI_DSM_CPULIST "0-23/2:allhosts"
 mpiexec_mpt -np 216 ./xhpl
**ハイブリッドコア飛ばし [#ae26604e]
-スクリプト例(ジョブクラスHでMPIが36プロセス、OpenMP6スレッドのハイブリッドプログラム(a.out)を実行)~
 #!/bin/csh
 #$ -ac P=2
 #$ -ac n=216
 #$ -ac T=6
 #$ -jc H
 #$ -cwd
 source ${TMP}/hybrid-mpi-$JOB_ID/env.csh
 mpiexec_mpt -np $TOTAL_PROCS omplace -nt $OMP_NUM_THREADS -c 1-:st=2 ./a.out
 mpiexec_mpt -np $TOTAL_PROCS omplace -nt $OMP_NUM_THREADS -c 0-:st=2 ./a.out

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ