2015-03-13 56 views
0

我在F,使用MPI_RECV這樣的:MPI fortran MPI_Irecv - 指定幾個標籤?

call MPI_Irecv(winner,4,MPI_INTEGER,MPI_ANY_SOURCE,MPI_ANY_TAG, & 
     &    MPI_COMM_WORLD,ireq,ierr) 

但是比起MPI_ANY_TAG我要指定一些不同的標籤。有沒有辦法做到這一點沒有循環通話?

+2

在接收過濾器中指定多個標記是不可能的。它是一個固定標籤或所有可能的標籤(即'MPI_ANY_TAG')。 – 2015-03-13 14:39:44

回答

1

你可以找到正確的信息的一種方法是做一些類似MPI_IMPROBE的調用。每次您從所需的組中指定一個不同的標籤。最終其中一個將匹配,你可以收到相應的消息MPI_MRECV