2015-03-13 59 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