【发布时间】:2012-08-24 22:24:26
【问题描述】:
我很好奇 MPI 中缺少这个功能:
MPI_Isendrecv( ... );
即非阻塞发送和接收,谁能告诉我省略的原因?
【问题讨论】:
-
在 netlib.org 上查看原始 MPI 规范的草案,似乎该功能曾经被包含,但后来在最终的 MPI 1.0 规范中被删除。现在我也很好奇是什么原因。
标签: mpi nonblocking
我很好奇 MPI 中缺少这个功能:
MPI_Isendrecv( ... );
即非阻塞发送和接收,谁能告诉我省略的原因?
【问题讨论】:
标签: mpi nonblocking
我认为MPI_SENDRECV 的存在是为了方便想要使用阻塞语义但需要实现移位操作的程序员。如果您对非阻塞语义感到满意,您应该简单地使用现有的MPI_ISEND 和MPI_IRECV。
有趣的是,MPI-3 将添加非阻塞集合(例如MPI_IBARRIER),但仍然没有MPI_ISENDRECV(参见http://meetings.mpi-forum.org/draft_standard/mpi3.0_draft_2.pdf)。
【讨论】: