高速計算サーバ †
- 高速計算サーバはSGI UV2000の8ノードで構成されています。
- 1ノードあたり、16ソケット(128コア)の1TBの共有メモリを搭載しており、大規模な共有メモリ計算、OpenMPプログラムの実行に適しています。
- ここでは、ジョブクラスB~Fでバッチジョブを投入する方法を紹介します。
OpenMP並列計算 †
MPI並列計算 †
MPI/OpenMPハイブリッド計算 †
MPIプロセスごとにOpenMPのスレッドを起動する計算です。
同一MPIプロセス中のOpenMPのスレッドが同一CPU内のローカルメモリを使用できるように、OpenMPのスレッド数は2,4,8のいずれかを推奨します。
MPI4プロセス×OpenMP8スレッドの場合
0 1 2 3 mpiプロセス番号
[0,0,0,0,0,0,0,0] [1,1,1,1,1,1,1,1] [2,2,2,2,2,2,2,2][3,3,3,3,3,3,3,3] OpenMPスレッドが所属するMPIプロセス番号
[ ]はCPUソケット
B | C,D | E,F |
---|
#$ -ac P=8 #$ -ac n=8 #$ -jc B #$ -cwd setenv OMP_NUM_THREADS 2 mpiexec_mpt -np 4 omplace ./a.out もしくは setenv OMP_NUM_THREADS 4 mpiexec_mpt -np 2 omplace ./a.out | #$ -ac P=32 #$ -ac n=32 #$ -jc C #$ -cwd setenv OMP_NUM_THREADS 8 mpiexec_mpt -np 4 omplace ./a.out もしくは setenv OMP_NUM_THREADS 4 mpiexec_mpt -np 8 omplace ./a.out | #$ -ac P=64 #$ -ac n=64 #$ -jc E #$ -cwd setenv OMP_NUM_THREADS 8 mpiexec_mpt -np 8 omplace ./a.out もしくは setenv OMP_NUM_THREADS 4 mpiexec_mpt -np 16 omplace ./a.out
|
OpenMPコア飛ばし †
MPIコア飛ばし †
ハイブリッドコア飛ばし †