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/03 17:03] koudai [並列計算] |
自作クラスタ計算機:mpiによる並列計算 [2021/06/28 04:02] koudai [概要] |
||
---|---|---|---|
Line 2: | Line 2: | ||
* 実際にMPIを用いたノード内およびノード間の並列計算を行います | * 実際にMPIを用いたノード内およびノード間の並列計算を行います | ||
- | * 事前にOpenMPI, | + | * 事前にOpenMPI, |
- | * Ubuntuではaptを使えばOpenMPIを簡単にインストールできるので、特にこだわりがなければお勧めです< | + | * / |
- | $ sudo apt install openmpi-bin libopenmpi-dev | + | |
- | </ | + | |
- | * **複数のMPIを一つのコンピュータに入れると、競合を起こしてMPIが動かなくなります** | + | |
====== 準備 ====== | ====== 準備 ====== | ||
Line 83: | Line 80: | ||
次のコードを使って説明します | 次のコードを使って説明します | ||
- | < | + | < |
#include < | #include < | ||
#include " | #include " | ||
Line 123: | Line 120: | ||
指定した計算ノードにジョブを投げてみます。 | 指定した計算ノードにジョブを投げてみます。 | ||
- | * MPIで指定のホストに投げる場合は、オプション< | + | * MPIで指定のホストに投げる場合は、オプション< |
* 計算ノードのkeisan11にジョブを投げる場合は次のようにします< | * 計算ノードのkeisan11にジョブを投げる場合は次のようにします< | ||
- | $ mpirun -host keisan11 -n 8 ./hello | + | $ mpirun -hosts keisan11 -n 8 ./hello |
Hello world: rank 0 of 8 running on keisan11 | Hello world: rank 0 of 8 running on keisan11 | ||
Hello world: rank 1 of 8 running on keisan11 | Hello world: rank 1 of 8 running on keisan11 | ||
Line 145: | Line 142: | ||
* 計算ノードkeisan11, | * 計算ノードkeisan11, | ||
- | $ mpirun -host keisan11, | + | $ mpirun -hosts keisan11, |
Hello world: rank 0 of 8 running on keisan11 | Hello world: rank 0 of 8 running on keisan11 | ||
Hello world: rank 1 of 8 running on keisan11 | Hello world: rank 1 of 8 running on keisan11 | ||
Line 184: | Line 181: | ||
</ | </ | ||
* プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます | * プロセスは keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> keisan11 -> keisan12 -> keisan12 -> keisan12 -> keisan12 -> keisan11 -> ... の順に割り振られて行きます | ||
- | * Intel MPIの場合は< | + | * Intel MPIの場合は< |
* https:// | * https:// | ||