2012-08-30 66 views
5

我在MPI缺乏這種功能的好奇:MPI非阻塞發送/ recv的

MPI_Isendrecv(...); 

即非阻塞發送和接收,誰能告訴我它的不作爲背後的原理是什麼?

+0

查看netlib.org上原始MPI規範的草案,似乎該函數曾經被包含在內,但後來在最終的MPI 1.0規範中被刪除。現在我也很好奇原因是什麼。 –

回答

5

我認爲MPI_SENDRECV是爲了方便那些想要使用阻塞語義但需要實現移位操作的程序員而存在。如果您對非阻塞語義很熟悉,則應該簡單地使用現有的MPI_ISENDMPI_IRECV。有趣的是,MPI-3將添加非阻塞集體(例如MPI_IBARRIER),但仍然不是MPI_ISENDRECV(參見http://meetings.mpi-forum.org/draft_standard/mpi3.0_draft_2.pdf)。