2014-03-13 13 views
0

MPI中的過程以什麼順序執行?我的意思是明智的秩序?以mpi執行的過程以什麼順序執行...我的意思是按明智順序排列?例如:rank == 0 first and rank == 1 next?

例如:rank == 0第一個和rank == 1下一個?

我考慮了兩個過程,通過給下面的命令,在運行時提:

mpirun -np 2 example

C中的MPI將執行該程序的順序是什麼。

+0

如果問題是關於使用C的MPI,爲什麼要標記java和C#? – devnull

回答

3

就我所知,沒有保證。畢竟,使用MPI,您希望在各種處理器上運行進程。強制對它們進行排序是沒有意義的。

這就是說,你不應該依賴於排序。換句話說,你不需要也不應該關心執行的順序是什麼,如果有的話。

2

假設它們沒有時間共享執行單元(核心/ CPU),MPI作業中的進程同時執行。然後可以使用障礙(MPI_BARRIER)或一對同步阻止操作(接收方中的發送方/ MPI_RECV中的MPI_SSEND)來同步執行代碼的各個部分。

+0

你懂了...非常感謝你.... – sandeep

2

使用MPI執行程序的重點在於進程是並行執行的,所以排序並不是及時修正的,取決於程序和環境。