This shows you the differences between two versions of the page.
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] = ' | name[len] = ' | ||
| | ||
- | printf( " | + | printf( " |
MPI_Finalize(); | MPI_Finalize(); | ||
Line 109: | Line 109: | ||
* 試しに管理ノードで走らせてみます< | * 試しに管理ノードで走らせてみます< | ||
$ mpirun -n 4 ./hello | $ mpirun -n 4 ./hello | ||
- | Hello World! I am 0 of 4 from kanri. | + | Hello world: rank 0 of 4 running on kanri |
+ | Hello world: rank 0 of 4 running on kanri | ||
+ | Hello world: rank 0 of 4 running on kanri | ||
Hello World! I am 1 of 4 from kanri. | Hello World! I am 1 of 4 from kanri. | ||
Hello World! I am 2 of 4 from kanri. | Hello World! I am 2 of 4 from kanri. | ||
Line 138: | Line 140: | ||
複数の計算ノードにわたるジョブを投げてみます。 | 複数の計算ノードにわたるジョブを投げてみます。 | ||
- | * オプション< | + | * オプション< |
* 計算ノードkeisan11, | * 計算ノードkeisan11, | ||
- | $ mpirun -n 72 --host keisan11, | + | $ mpirun -n 72 -hosts keisan11, |
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 151: | ||
(以下略) | (以下略) | ||
</ | </ | ||
- | * プロセスは keisan11 -> keisan12 -> keisan13 -> keisan11 -> ... の順に割り振られて行きます | ||
- | |||
==== ホストファイルによるジョブの投入 ==== | ==== ホストファイルによるジョブの投入 ==== | ||
Line 169: | Line 169: | ||
次のように実行します | 次のように実行します | ||
< | < | ||
- | $ mpirun -n 6 --hostfile | + | $ mpirun -n 6 -f 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 178: | ||
</ | </ | ||
* プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます | * プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます | ||
+ | * Intel MPIの場合は< | ||
+ | * https:// | ||
====== 参考 ====== | ====== 参考 ====== |