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
Previous revision
Next revision Both sides next revision
自作クラスタ計算機:mpiによる並列計算 [2020/03/03 15:36]
koudai [ノード内並列計算]
自作クラスタ計算機:mpiによる並列計算 [2020/03/03 15:43]
koudai [ホストファイルによるジョブの投入]
Line 144: Line 144:
   * 計算ノードkeisan11, keisan12, keisan13にジョブを投げる場合は次のようにします<code>   * 計算ノードkeisan11, keisan12, keisan13にジョブを投げる場合は次のようにします<code>
 $ mpirun -n 10 -hosts keisan11,keisan12,keisan13 ./hello $ mpirun -n 10 -hosts keisan11,keisan12,keisan13 ./hello
-Hello world: rank 0 of running on keisan11 +Hello world: rank 0 of 10 running on keisan11 
-Hello world: rank 1 of running on keisan11 +Hello world: rank 1 of 10 running on keisan11 
-Hello world: rank 2 of running on keisan11 +Hello world: rank 2 of 10 running on keisan11 
-Hello world: rank 3 of running on keisan11 +Hello world: rank 3 of 10 running on keisan11 
-Hello world: rank 4 of running on keisan11 +Hello world: rank 4 of 10 running on keisan12 
-Hello world: rank 5 of running on keisan11 +Hello world: rank 5 of 10 running on keisan12 
-Hello world: rank 6 of running on keisan11 +Hello world: rank 6 of 10 running on keisan12 
-Hello world: rank 7 of 8 running on keisan11+Hello world: rank 7 of 10 running on keisan12 
 +Hello world: rank of 10 running on keisan13 
 +Hello world: rank 9 of 10 running on keisan13
 </code> </code>
-  * どうやら管理ノードのプロセス数だけ投げたら次のノードに行く、という仕組みみたいです。(未確認)+  * どうやらMPIを実行したノード(今の場合は管理ノードコア数だけ投げたら次のノードに行く、という仕組みみたいです。(未確認)
  
 ==== ホストファイルによるジョブの投入 ==== ==== ホストファイルによるジョブの投入 ====
Line 162: Line 164:
 <file - my_hosts> <file - my_hosts>
 keisan11:2 keisan11:2
-keisan12:3+keisan12:4
 </file> </file>
   * OpenMPIの場合   * OpenMPIの場合
 <file - my_hosts> <file - my_hosts>
 keisan11 slots=2 keisan11 slots=2
-keisan12 slots=3+keisan12 slots=4
 </file> </file>
  
Line 173: Line 175:
 <code> <code>
 $ mpirun -n 6 -f my_hosts ./hello $ mpirun -n 6 -f my_hosts ./hello
-Hello World; rank 0 of 6 running on keisan11. +Hello world: rank 0 of 6 running on keisan11 
-Hello World! I am 1 of 6 from keisan11. +Hello world: rank 1 of 6 running on keisan11 
-Hello World! I am 2 of 6 from keisan12. +Hello world: rank 2 of 6 running on keisan12 
-Hello World! I am 3 of 6 from keisan12. +Hello world: rank 3 of 6 running on keisan12 
-Hello World! I am 4 of 6 from keisan12. +Hello world: rank 4 of 6 running on keisan12 
-Hello World! I am 5 of 6 from keisan11.+Hello world: rank 5 of 6 running on keisan12
 </code> </code>
-    * プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます+    * プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます
     * Intel MPIの場合は<nowiki>-f</nowiki>の代わりに<nowiki>-machinefile</nowiki>あるいは<nowiki>-machine</nowiki>を使用してください     * Intel MPIの場合は<nowiki>-f</nowiki>の代わりに<nowiki>-machinefile</nowiki>あるいは<nowiki>-machine</nowiki>を使用してください
       * https://software.intel.com/en-us/articles/controlling-process-placement-with-the-intel-mpi-library        * https://software.intel.com/en-us/articles/controlling-process-placement-with-the-intel-mpi-library 
自作クラスタ計算機/mpiによる並列計算.txt · Last modified: 2023/12/26 23:43 by koudai