如果我声明一个 MPI_Request 表(每个 CPU 一个请求),则在用于 MPI_Isend/MPI_Irecv 时将可以全局访问它?(与初始化 MPI 环境后随处可访问的 MPI_comm 相比)
谢谢。
如果我声明一个 MPI_Request 表(每个 CPU 一个请求),则在用于 MPI_Isend/MPI_Irecv 时将可以全局访问它?(与初始化 MPI 环境后随处可访问的 MPI_comm 相比)
谢谢。
我觉得这个问题有点混乱,也许你可以澄清一下。 MPI_Request
是一种类型;如果您在一个进程上声明此类型的值表,则它仅可用于该进程,与声明的任何其他变量一致。
MPI_REQUEST 类型的数据通常用作立即发送和接收 ( , ) 的句柄,以允许发送和接收进程使用或/ /来测试消息是否已被接收。ISend
Irecv
MPI_Test
MPI_Wait
MPI_Waitall
MPI_Waitany
MPI_Comm
也是一种类型,但也许您的意思是默认通信器本身就是这种类型?这是所有进程都知道的,因为MPI_Init
(有效地)创建默认通信器是一个集体操作。