MPI MPI Probe應用的例子

2021-08-18 03:01:04 字數 999 閱讀 8333

mpi_probe()和mpi_probe()函式探測接收訊息的內容,但不影響實際接收到的訊息。我們可以根據探測到的訊息內容決定如何接收這些訊息,比如根據訊息大小分配緩衝區等等。需要說明的是,這兩個函式第乙個是阻塞方式,即只有探測到匹配的訊息才返回;第二個是非阻塞方式,即無論探測到與否都立即返回。

int mpi_probe (int source /* in */,

int tag /* in */,

mpi_comm comm

/* in */,

mpi_status* status /*out*/)

以上是阻塞型探測,直到有乙個符合條件的訊息到達,返回mpi_any_source和 mpi_any_tag

int mpi_iprobe (int source /* in */,

int tag /* in */,

mpi_comm comm

/* in */,

int * flag /*out*/,

mpi_status* status /*out*/)

以上是非阻塞型探測,無論是否有乙個符合條件的訊息到達,立即返回。有flag=true;否則flag=false

int x; float y;

int send_x = 100;

float send_y = 3.14;

mpi_comm_rank(comm, &rank);

if(rank ==0) /*0->2傳送一int型數*/

mpi_send(&send_x,1,mpi_int,2,99,comm);

else

if(rank == 1) /*1->2傳送一float型數*/

mpi_send(&send_y,1,mpi_float,2,99,comm);

else

/* 根程序接收 */

for(int i=0;i<2;i++)

單例模式的應用

單例模式能保證類僅有乙個例項,並提供乙個訪問他的全域性的訪問點。設計視窗常常需要獲取其他某個視窗的指標,以下圖為例 要在qachilddialog裡面獲取主介面qmainwindows物件的指標,可以通過如下 完成 this parentwidget parentwidget 缺點 如果對話方塊移到...

多個單例模式單例模式的應用

我們在程式設計中需要乙個單例,但不僅僅是乙個單例,更多的是需要單例中的單例 即 類a為控制器,類b為例項面板 為方便找到類a,採用單例,而類a為方便找到類b,採用單例中的單例 單例a 單例b 第二個不要用new a.getinstance b.呼叫方法 import b public class a...

多個單例模式單例模式的應用

我們在程式設計中需要乙個單例,但不僅僅是乙個單例,更多的是需要單例中的單例 即 類a為控制器,類b為例項面板 為方便找到類a,採用單例,而類a為方便找到類b,採用單例中的單例 單例a 單例b 第二個不要用new a.getinstance b.呼叫方法 import b public class a...