If i declare a table of MPI_Request ( one request for each CPU ), it will be accessible globally when using for MPI_Isend/MPI_Irecv ?? ( In comparison with MPI_comm that is everywhere accessible after init开发者_开发技巧ializing the MPI environment )
Thanks.
I find the question a bit confusing, perhaps you could clarify. MPI_Request
is a type; if you declare a table of values of this type on one process then it is only available to that process, in line with any other variables declared.
Data of type MPI_REQUEST is usually used as handles for immediate sends and receives (ISend
, Irecv
), to allow the sending and receiving processes to test that the message has been received, using MPI_Test
or MPI_Wait
/MPI_Waitall
/MPI_Waitany
.
MPI_Comm
is also a type, but perhaps you mean the default communicator itself which is of this type ? This is known to all the processes because MPI_Init
which (effectively) creates the default communicator is a collective operation.
精彩评论