2010-10-31 96 views

回答

2

不幸的是,在OcamlMPI源代码中似乎没有任何对非阻塞MPI调用的引用。但是,我注意到正在使用阻塞版本MPI_Send。在某些情况下,MPI_Send将表现得像一个非阻塞的调用(例如,对于适合默认传出消息缓冲区的小消息),但是这种行为是依赖于实现的,并且不是您可以依赖的。

从OcamlMPI源代码的角度来看,我不认为实现自己的非阻塞等价物会很困难,请查看“msgs.c”(OcamlMPI源文件),函数“ caml_mpi_send“包含标准发送的代码。用MPI_Isend替换MPI_Send并处理MPI_Request数据结构的返回应该有所裨益。哦,你需要为MPI_Wait添加另一个函数。检查MPI standard了解更多信息。

希望有帮助!