This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
quantumespresso:並列計算 [2020/08/31 16:35] koudai [MPI+OpenMPのハイブリッド実行] |
quantumespresso:並列計算 [2021/06/27 22:04] (current) |
||
---|---|---|---|
Line 11: | Line 11: | ||
< | < | ||
- | $ mpirun -n 2 pw.x < case.scf.in > case.scf.out | + | $ mpirun -np 2 pw.x < case.scf.in > case.scf.out |
</ | </ | ||
- | 2はMPIプロセスの数です。 使用しているCPUの最大スレッド数を超えない値を設定します。 | + | -npによりMPIプロセスの数を指定します |
===== OpenMP ===== | ===== OpenMP ===== | ||
Line 24: | Line 23: | ||
$ echo $OMP_NUM_THREADS | $ echo $OMP_NUM_THREADS | ||
</ | </ | ||
- | OMP_NUM_THREADSの数は1つのCPU当たりのコア数を超えないようにします。 | + | OMP_NUM_THREADSは1つのCPU当たりのコア数を超えないようにします。 |
例えば12スレッドのOpenMP並列で実行する場合は次のようにします | 例えば12スレッドのOpenMP並列で実行する場合は次のようにします | ||
< | < | ||
- | $ OMP_NUM_THREADS=12 | + | $ export |
$ pw.x < case.scf.in > case.scf.out | $ pw.x < case.scf.in > case.scf.out | ||
</ | </ | ||
Line 35: | Line 34: | ||
例えばMPIで2プロセスを生成し、各プロセスで12スレッドのOpenMP並列を行う場合、次のようにします。 | 例えばMPIで2プロセスを生成し、各プロセスで12スレッドのOpenMP並列を行う場合、次のようにします。 | ||
< | < | ||
- | $ mpirun -np 2 omplace -nt 12 pw.x < case.scf.in > case.scf.out | + | $ export OMP_NUM_THREADS=12 |
+ | $ mpirun -n 2 pw.x < case.scf.in > case.scf.out | ||
</ | </ | ||
- | |||
- | |||
===== wf_collect ===== | ===== wf_collect ===== | ||
Line 49: | Line 47: | ||
並列計算をするときは常につけておくと安全です。 | 並列計算をするときは常につけておくと安全です。 | ||
+ | (ver.6.3以降はデフォルトでtrueになったのでなくても大丈夫です) | ||