【发布时间】:2021-12-13 06:44:32
【问题描述】:
我一直想知道 MPI 运行时如何区分多个非阻塞调用(在同一个通信世界中)之间的消息?
例如:假设我们有多个 Iallgather 操作。
...
auto res1 = MPI_Iallgather(... , MPI_COMM_WORLD, req[0]);
auto res2 = MPI_Iallgather(... , MPI_COMM_WORLD, req[1]);
MPI_Waitall(2, req, MPI_STATUSES_IGNORE);
...
在Isend/Irecv 例程中,有一个int tag 参数。但是对于其他非阻塞调用,没有标签参数。
当我们创建一个MPI_Request 对象时,它会创建一个唯一的标签吗?
【问题讨论】:
标签: c++ mpi distributed-computing hpc openmpi