User Tools

Site Tools


quantumespresso:並列計算

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
quantumespresso:並列計算 [2020/08/31 16:22]
koudai [手順]
quantumespresso:並列計算 [2021/06/27 22:04] (current)
Line 6: Line 6:
 ====== 手順 ====== ====== 手順 ======
  
 +===== MPI =====
  
 MPIを使って並列化計算をしたい場合は、次のように実行します。 MPIを使って並列化計算をしたい場合は、次のように実行します。
  
 <code> <code>
-$ mpirun -2 pw.x < case.scf.in > case.scf.out+$ mpirun -np 2 pw.x < case.scf.in > case.scf.out
 </code> </code>
  
-2はMPIプロセスの数です。 使用しているCPUの最大スレッド数を超えない値定します+-npによりMPIプロセスの数を定します
  
-もしコンパイル時にOpenMPを許可していた場合、MPIプロセスあたりのスレッド数は環境変数OMP_NUM_THREADSのものが使われます。+===== OpenMP ===== 
 + 
 +もしコンパイル時にOpenMPを許可していた場合、スレッド数は環境変数OMP_NUM_THREADSのものが使われます。
 以下のようにして確認できます 以下のようにして確認できます
 <code> <code>
 $ echo $OMP_NUM_THREADS $ echo $OMP_NUM_THREADS
 </code> </code>
-OMP_NUM_THREADSの数は1つのCPU当たりのコア数を超えないようにします。 +OMP_NUM_THREADSは1つのCPU当たりのコア数を超えないようにします。 
-変更する場合(例えば12スレッドする場合は次のようにします+例えば12スレッドのOpenMP並列で実行する場合は次のようにします
 <code> <code>
-$ OMP_NUM_THREADS=12+export OMP_NUM_THREADS=12 
 +$ pw.x < case.scf.in > case.scf.out
 </code> </code>
  
-scf計算やbands計算などといった計算ごとに並列数が異なる場合は、&controlに次のオプションを追加します。+===== MPI+OpenMPのハイブリッド実行 ===== 
 + 
 +例えばMPIで2プロセスを生成し、各プロセスで12スレッドのOpenMP並列を行う場合、次のようにします。 
 +<code> 
 +$ export OMP_NUM_THREADS=12 
 +$ mpirun -n 2 pw.x < case.scf.in > case.scf.out 
 +</code> 
 + 
 +===== wf_collect ===== 
 + 
 +scf計算やbands計算などといった計算ごとに並列数が異なる場合は、入力ファイルの&controlに次のオプションを追加します。
  
 <file> <file>
Line 33: Line 47:
  
 並列計算をするときは常につけておくと安全です。 並列計算をするときは常につけておくと安全です。
 +(ver.6.3以降はデフォルトでtrueになったのでなくても大丈夫です)
  
quantumespresso/並列計算.1598858576.txt.gz · Last modified: 2021/06/27 22:00 (external edit)