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/02 21:53]
koudai [通常の使い方]
自作クラスタ計算機:mpiによる並列計算 [2020/03/03 15:30]
koudai [ホストファイルによるジョブの投入]
Line 96: Line 96:
     name[len] = '\0';     name[len] = '\0';
          
-    printf( "Hello World! I am %d of %d from %s.\n", rank, size, name );+    printf( "Hello world: rank %d of %d running on %s\n", rank, size, name );
  
     MPI_Finalize();     MPI_Finalize();
Line 138: Line 138:
 複数の計算ノードにわたるジョブを投げてみます。 複数の計算ノードにわたるジョブを投げてみます。
  
-  * オプション<nowiki>--host</nowiki>で複数のホスト名を指定します+  * オプション<nowiki>-hosts</nowiki>で複数のホスト名を指定します
   * 計算ノードkeisan11, keisan12, keisan13にジョブを投げる場合は次のようにします<code>   * 計算ノードkeisan11, keisan12, keisan13にジョブを投げる場合は次のようにします<code>
-$ mpirun -n 72 --host keisan11,keisan12,keisan13 ./hello+$ mpirun -n 72 -hosts keisan11,keisan12,keisan13 ./hello
 Hello World! I am 0 of 72 from keisan11. Hello World! I am 0 of 72 from keisan11.
 Hello World! I am 1 of 72 from keisan12. Hello World! I am 1 of 72 from keisan12.
Line 149: Line 149:
 (以下略) (以下略)
 </code> </code>
-    * プロセスは keisan11 ->  keisan12 -> keisan13 -> keisan11 -> ... の順に割り振られて行きます 
- 
  
 ==== ホストファイルによるジョブの投入 ==== ==== ホストファイルによるジョブの投入 ====
Line 169: Line 167:
 次のように実行します 次のように実行します
 <code> <code>
-$ mpirun -n 6 --hostfile my_hosts ./hello +$ mpirun -n 6 -my_hosts ./hello 
-Hello World! I am 0 of 6 from keisan11.+Hello World; rank 0 of 6 running on keisan11.
 Hello World! I am 1 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 2 of 6 from keisan12.
Line 178: Line 176:
 </code> </code>
     * プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます     * プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます
 +    * 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 
  
 ====== 参考 ====== ====== 参考 ======
自作クラスタ計算機/mpiによる並列計算.txt · Last modified: 2023/12/26 23:43 by koudai