2012-09-07 27 views
2

我正在使用MPI在異構計算系統上執行並行作業。我的網絡中的節點並不完全相同。我可以指定哪個主機在MPI程序中擁有哪個等級?

我想指定機器「A.univ.edu」有等級0和機器「B.univ.edu」有秩1

有什麼方法來指定的行列如何分配給主機在MPI中?

+0

'MPI_COMM_WORLD'中的等級分配由'mpiexec'控制。 MPI實現之間的細節有點不同,所以請參閱手冊頁。在兩臺主機的例子中,您只需按照machinefile中的順序列出它們即可。 –

回答

2

如果一切都失敗了,你可以隨時使用MPI_Comm_split來創建一個新的溝通者,在這個溝通者中你的流程都具有所需的等級。在每個過程確定了其預期的等級(存儲在例如newRank中)之後,對MPI_Comm_split(MPI_COMM_WORLD, 0, newRank, newComm)的呼叫將在newComm中以正確的順序創建通信器。然後,您可以在您的所有通訊電話中使用該通訊器而不是MPI_COMM_WORLD

相關問題