Ocaml mpi和x2B中的非阻塞接收;奥卡姆?

Ocaml mpi和x2B中的非阻塞接收;奥卡姆?,ocaml,mpi,Ocaml,Mpi,OcamlMpi提供了阻止发送和接收的指令。有人为ocamlmpi做过非阻塞接收吗 不幸的是,OcamlMPI源中似乎没有任何对非阻塞MPI调用的引用。但是,我注意到,对于阻塞版本,正在使用MPI_Send。在某些情况下,MPI_Send的行为类似于非阻塞调用(例如,对于适合默认传出消息缓冲区的小消息),但是该行为取决于实现,您不能依赖它 从OcamlMPI源代码的外观来看,我认为实现自己的非阻塞等价物并不困难,看看“msgs.c”(OcamlMPI源代码中的一个文件),函数“caml\u mp

OcamlMpi提供了阻止发送和接收的指令。有人为ocamlmpi做过非阻塞接收吗

不幸的是,OcamlMPI源中似乎没有任何对非阻塞MPI调用的引用。但是,我注意到,对于阻塞版本,正在使用MPI_Send。在某些情况下,MPI_Send的行为类似于非阻塞调用(例如,对于适合默认传出消息缓冲区的小消息),但是该行为取决于实现,您不能依赖它

从OcamlMPI源代码的外观来看,我认为实现自己的非阻塞等价物并不困难,看看“msgs.c”(OcamlMPI源代码中的一个文件),函数“caml\u mpi\u send”包含标准send的代码。将MPI_Send替换为MPI_Isend并处理MPI_请求数据结构的返回应该可以做到这一点。哦,您需要为MPI_Wait添加另一个函数。有关更多信息,请查看


希望有帮助

Mpi.iprobe在最新的ocamlmpi Subversion主干中提供:

这为新消息提供了非阻塞检查。消息可用后,可以使用正常的阻塞接收来检索消息