2

MPIを使用して、ヘテロジニアスコンピューティングシステム上で並列ジョブを実行しています。私のネットワークのノードはすべて同一ではありません。

マシン「A.univ.edu」のランクが0で、マシン「B.univ.edu」のランクが1であることを指定したいと思います。

MPIでホストにランクを割り当てる方法を指定する方法はありますか?

4

3 に答える 3

4

少なくともOpenMPIではランクファイルを指定できるようです

上記の例は次のようになります

rankfile.txt:
rank 0=A.univ.edu slot=0
rank 1=B.univ.edu slot=0

mpiexec -np 2 -H A.univ.edu,B.univ.edu -rf rankfile.txt executable.exe

http://mirror.its.dal.ca/openmpi/doc/v1.5/man1/mpiexec.1.php#sect9

于 2012-09-07T18:54:49.740 に答える
2

他のすべてが失敗した場合は、いつでも使用MPI_Comm_splitして、プロセスがすべて目的のランクを持つ新しいコミュニケーターを作成できます。各プロセスが目的のランク(たとえば、に格納されているnewRank)を決定した後、を呼び出すと、適切な順序でMPI_Comm_split(MPI_COMM_WORLD, 0, newRank, newComm)コミュニケーターが作成されます。その後、すべてのコミュニケーションコールnewCommの代わりに、そのコミュニケーターを使用できます。MPI_COMM_WORLD

于 2012-09-08T12:57:54.913 に答える
0

「-rank-bynode」スイッチを使用できます。これにより、ホストが指定された順序でプロセスがマップされます。

于 2018-05-08T23:27:30.087 に答える