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 17:54] koudai [ノード内並列] |
自作クラスタ計算機:mpiによる並列計算 [2020/03/02 18:08] koudai [ノード間並列計算] |
||
---|---|---|---|
Line 107: | Line 107: | ||
$ mpiicc -o hello hello.c | $ mpiicc -o hello hello.c | ||
</ | </ | ||
- | * 管理ノード(4スレッド)で走らせてみます< | + | * 試しに管理ノードで走らせてみます< |
$ mpirun -n 4 hello | $ mpirun -n 4 hello | ||
Hello World! I am 0 of 4 from kanri. | Hello World! I am 0 of 4 from kanri. | ||
Line 121: | Line 121: | ||
指定した計算ノードにジョブを投げてみます。 | 指定した計算ノードにジョブを投げてみます。 | ||
- | * MPIで指定のホストに投げる場合は、オプション--hostでホスト名を指定します | + | * MPIで指定のホストに投げる場合は、オプション< |
- | * 計算ノードkeisan11にジョブを投げる場合は次のようにします< | + | * 計算ノードのkeisan11にジョブを投げる場合は次のようにします< |
$ mpirun -n 24 --host keisan11 hello | $ mpirun -n 24 --host keisan11 hello | ||
Hello World! I am 0 of 24 from keisan11. | Hello World! I am 0 of 24 from keisan11. | ||
Line 136: | Line 136: | ||
複数の計算ノードにわたるジョブを投げてみます。 | 複数の計算ノードにわたるジョブを投げてみます。 | ||
- | * オプション--hostで複数のホスト名を指定します | + | * オプション< |
* 計算ノードkeisan11とkeisan12にジョブを投げる場合は次のようにします< | * 計算ノードkeisan11とkeisan12にジョブを投げる場合は次のようにします< | ||
$ mpirun -n 4 --host keisan11, | $ mpirun -n 4 --host keisan11, | ||
Line 144: | Line 144: | ||
Hello World! I am 3 of 4 from keisan12. | Hello World! I am 3 of 4 from keisan12. | ||
</ | </ | ||
- | * MPIがプロセス数に応じて各ノードにスレッドを割り振ります | + | * MPIが各ノードに均等にプロセスを割り振ります |
+ | * 並列計算におけるスレッド間の通信を考えたとき、ノード間の通信はノード内の通信に比べて非常に遅いです。できるだけ通信をしないようなプログラムが要求されます。 | ||
====== 参考 ====== | ====== 参考 ====== |