8
所以我們可以說我有2個進程,等級0和等級1MPI_Recv - 如何確定計數?
int i[20], j[20], temp, size;
在過程與等級0 MPI程序,我有
for(temp=0; temp<20; temp++)
i[temp] = temp;
MPI_Send(i, 15, MPI_INT, 1, 1, MPI_COMM_WORLD);
和假設的過程與當時排名1
// At this point, size is declared, but not assigned any value.
MPI_Recv(j,size, MPI_INT, 0, 1, MPI_COMM_WORLD):
cout << "I have received " << size << " elements" ;
我的問題是,在上面的語句中,是否需要聲明「大小」?或者MPI_Recv以某種方式「知道」它正在接收15個元素,並自動設置size = 15?如果大小沒有定義,代碼會發生什麼?
基本上,我的問題是,我發送不同級別的處理器的不同數量的元素,所有的消息源自0級。我想知道是否應該先發送大小,然後準備處理器接收到許多元素,或者如果我可以發送數組,並且進程自動從那裏選擇大小。