问题描述
我的假设:非阻塞 I/O 用于利用数据加载和计算之间的差距。 换句话说,在加载数据的同时,我们可以做一些计算。 因此,下面的程序
MPI_File_read_at_all_begin(...);
... // do some computations
MPI_File_read_at_all_end(...);
应该比
表现更好MPI_File_read_at_all(...);
... // the same computations of the prevIoUs program
然而,我并没有看到预期的结果。 为什么?我误会了吗?
解决方法
我用类似的东西修复了它
{ // run with a thread
MPI_File_read_at_all_begin(...);
MPI_File_read_at_all_end(...);
}
... // do some computations