2010-10-31 113 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瞭解更多信息。

希望有幫助!