为什么使用MPI_File_open而不是fopen?

时间:2013-12-07 00:52:05

标签: c++ mpi openmpi

阅读MPI文档后,听起来并不是这样可以提供任何其他功能。我假设它协调网络流量,使得所有文件操作都与执行系统上的给定文件(发出mpirun命令的文件)一起工作,而不是在每个主机上使用本地文件系统。这将是有用的。相反,“用户”需要确保它们最终都在同一个文件中。很明显,他们没有就这个文件进行那么多沟通......是吗?

MPI_File_open实际上做了什么,它有什么好处?我为什么不只是使用fopen?

1 个答案:

答案 0 :(得分:0)

当然,MPI_File_open允许您在特定块上搜索和读/写,就像使用fopen一样,在这种情况下,每个进程都有一个私有文件指针。与fopen的区别包括非阻塞IO方法将允许程序继续执行而无需等待操作完成。 MPI还支持共享文件指针(例如MPI_File_read_shared),但显然使用共享指针会产生同步开销。