User Tools

Site Tools


自作クラスタ計算機:mpiによる並列計算

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 Both sides next revision
自作クラスタ計算機:mpiによる並列計算 [2020/03/02 18:30]
koudai [ノード間並列計算]
自作クラスタ計算機:mpiによる並列計算 [2020/03/02 18:42]
koudai [ノード間並列計算]
Line 133: Line 133:
  
 ===== ノード間並列計算 ===== ===== ノード間並列計算 =====
 +
 +==== 通常の使い方 ====
  
 複数の計算ノードにわたるジョブを投げてみます。 複数の計算ノードにわたるジョブを投げてみます。
Line 149: Line 151:
     * MPIが各ノードにプロセスを割り振ります     * MPIが各ノードにプロセスを割り振ります
     * プロセスは keisan11 -> keisan12 -> keisan13 -> keisan11 -> ... の順に割り振られて行きます     * プロセスは keisan11 -> keisan12 -> keisan13 -> keisan11 -> ... の順に割り振られて行きます
 +
 +
 +==== ホストファイルによるジョブの投入 ====
 +
 +例えばノードごとに性能差がある場合など、ノードごとのプロセス数を自分で管理したい場合はホストファイルを作成します。
 +例えばkeisan11に2スレッド、keisan12に3スレッド割り振りたい場合は次のファイルを用意します。
 +
 +  * MPICH, Intel MPIの場合
 +<file - my_hosts>
 +keisan11:2
 +keisan12:3
 +</file>
 +  * OpenMPIの場合
 +<file - my_hosts>
 +keisan11 slots=2
 +keisan12 slots=3
 +</file>
 +
 +次のように実行します
 +<code>
 +$ mpirun -n 6 --host keisan11,keisan12,keisan13 hello
 +Hello World! I am 0 of 6 from keisan11.
 +Hello World! I am 1 of 6 from keisan11.
 +Hello World! I am 2 of 6 from keisan12.
 +Hello World! I am 3 of 6 from keisan12.
 +Hello World! I am 4 of 6 from keisan12.
 +Hello World! I am 5 of 6 from keisan11.
 +</code>
 +    * プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます
  
 ====== 参考 ====== ====== 参考 ======
自作クラスタ計算機/mpiによる並列計算.txt · Last modified: 2023/12/26 23:43 by koudai