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/03/09 20:43]
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 ===== 
 + 
 +もしコンパイル時にOpenMPを許可していた場合、スレッド数は環境変数OMP_NUM_THREADSのものが使われます。 
 +以下のようにして確認できます 
 +<code> 
 +$ echo $OMP_NUM_THREADS 
 +</code> 
 +OMP_NUM_THREADSは1つのCPU当たりのコア数を超えないようにします。 
 +例えば12スレッドのOpenMP並列で実行する場合は次のようにします 
 +<code> 
 +$ export OMP_NUM_THREADS=12 
 +$ pw.x < case.scf.in > case.scf.out 
 +</code> 
 + 
 +===== MPI+OpenMPのハイブリッド実行 ===== 
 + 
 +例えばMPIで2プロセス生成し、各プロセスで12スレッドのOpenMP並列を行う場合、次のようにします。 
 +<code> 
 +$ export OMP_NUM_THREADS=12 
 +$ mpirun -n 2 pw.x < case.scf.in > case.scf.out 
 +</code>
  
-もしコンパイル時にOpenMPを許可していた場合、MPIプロセスあたりのスレッド数がCPUあたりのスレッド数と同じになるように設定されます(pw.xを実行したときの出力ファイルの最初の方に、どれだけのコアを使うかが出力されます)。 +===== wf_collect =====
-ですので、プロセス数はコンピュータに搭載されているCPUの数と一致させます。+
  
-scf計算やbands計算などといった計算ごとに並列数が異なる場合は、&controlに次のオプションを追加します。+scf計算やbands計算などといった計算ごとに並列数が異なる場合は、入力ファイルの&controlに次のオプションを追加します。
  
 <file> <file>
Line 25: Line 47:
  
 並列計算をするときは常につけておくと安全です。 並列計算をするときは常につけておくと安全です。
 +(ver.6.3以降はデフォルトでtrueになったのでなくても大丈夫です)
  
quantumespresso/並列計算.1583754212.txt.gz · Last modified: 2021/06/27 22:00 (external edit)