为什么使用MPI_File_open而不是fopen
Why use MPI_File_open instead of fopen?
阅读MPI文档后,听起来这根本没有给您任何额外的功能。我假设它协调网络流量,使所有文件操作都与执行系统(发出mpirun命令的系统)上的给定文件一起工作,而不是在每个主机上使用本地文件系统。这将是有用的。相反,"用户"需要确保它们最终都在同一个文件中。很明显,他们没有就这个文件进行太多沟通。。。是吗?
MPI_File_open的实际作用是什么?它的好处是什么?为什么我不应该只使用fopen?
当然,MPI_File_open允许您像使用fopen一样在特定块上查找和读/写,在这种情况下,每个进程都有一个专用文件指针。与fopen的不同之处在于,非阻塞IO方法允许程序在不等待操作完成的情况下继续执行。MPI还支持共享文件指针(例如MPI_file_read_shared),尽管显然使用共享指针会带来同步开销。
相关文章:
- 试图创建流或fopen时程序崩溃
- 使用 fopen 打开 .pak 文件并使该文件应用于 const 无符号字符* (C++)
- fopen 在 gdb 中返回 NULL
- Poco::Net::FTPClientSession 在 open() 方法上挂起 129 秒,如果 ftp 主机不存
- Node.js fs.open() 在尝试打开 4 个以上的命名管道 (FIFO) 后挂起
- POSIX open() 挂在 SMB 共享上
- C++:std::ofstream 方法 open() 在第二次迭代时擦除打开的 ifstream 文件
- Visual Studio "fatal error LNK1104: cannot open file"未使用或包含的库
- fopen 在创建大量文件后因 EFBIG "File too large" 而失败
- C++ 错误检查 fstream open() 命令和一般字符串流错误处理
- VS 2017 C++ - "cannot open source file 'sqlite3.h' "
- 在VS 15.7.5中,悬停在Open CV 3.4.1Mat上仍然冻结
- 计算着色器Open GL ES的多个输入
- 从生成文件编译错误:"Unable to open output file" ..."No such file or directory"
- fopen 与常量字符 * 从 QString 是不可能的
- Open GL ES 3.1 的计算着色器的最小工作示例
- 在C++中打开的带有"fopen"的mmap文件
- 我可以对"int 文件 = open(path, flag);"做点什么吗?
- 使用NDK, std::fstream open()失败,而fopen()正常工作,为什么?
- 为什么在Windows上std::fopen和std::filebuf::open会裁剪尾随空格字符