MPI_Request在MPI流程中是全局的吗?

时间:2010-05-28 14:25:03

标签: mpi

如果我声明一个MPI_Request表(每个CPU有一个请求),当使用MPI_Isend / MPI_Irecv时,它将全局访问? (与初始化MPI环境后无处不在的MPI_comm相比)

感谢。

1 个答案:

答案 0 :(得分:3)

我发现这个问题有点令人困惑,也许你可以澄清一下。 MPI_Request是一种类型;如果在一个进程上声明一个这种类型的值表,那么它只对该进程可用,与声明的任何其他变量一致。

MPI_REQUEST类型的数据通常用作句柄,用于立即发送和接收(ISendIrecv),以允许发送和接收进程测试该消息已收到,使用MPI_TestMPI_Wait / MPI_Waitall / MPI_Waitany

MPI_Comm也是一种类型,但也许你的意思是这种类型的默认通信器本身?这对于所有进程都是已知的,因为MPI_Init(有效地)创建默认通信器是集体操作。