MPI_IN_PLACE
作爲MPI_Scatter
的參數給出時應如何操作?應如何使用?我無法理解man MPI_Scatter
:MPI_IN_PLACE如何與MPI_Scatter一起使用?
當通信器是內部通信器時,您可以在原地執行收集操作(輸出緩衝器用作輸入緩衝器)。使用變量MPI_IN_PLACE作爲根進程recvbuf的值。在這種情況下,recvcount和recvtype將被忽略,並且根進程不會向其自身發送數據。由於就地選項將接收緩衝區轉換爲發送和接收緩衝區,因此包含INTENT的Fortran綁定必須將它們標記爲INOUT,而不是OUT。
我想要做的是使用相同的緩衝區,其中包含根上的數據作爲每個其他進程的接收緩衝區(如MPI_Bcast
)。請問MPI_Scatter
用MPI_IN_PLACE
讓我這樣做?
虛擬緩衝區可以替換爲NULL,因爲它永遠不會被讀取。 – 2015-04-02 23:10:10