由于MPI_THREAD_MULTIPLE
不如 性能和稳定MPI_THREAD_SERIALIZED
,我正在尝试将我的 MPI 应用程序转换为序列化。MPI_THREAD_SERIALIZED
但是,我并不清楚确切的定义。是否意味着:
- 任何 MPI 调用的开始和结束不应与其他调用重叠?
或 2.任何 MPI 调用的开始不应与其他调用重叠。(但是两个调用还是可以重叠的)
如果是前者,如何实现具有长效阻塞 API 的多线程应用程序,MPI_Comm_accept
例如MPI_Win_fence
?
一个示例是等待客户端服务的 DPM 应用程序。