冗长的背景
我正在为心脏电生理模拟编写并行代码。由于用户可以使用内置的脚本语言指定自己的模拟,因此我无法知道如何处理通信与计算之间的权衡。为了解决这个问题,我正在制作一种类似运行时分析器,一旦看到要运行的模拟和它必须使用的硬件环境,就会决定如何处理域分解。
我的问题是:
MPI I/O在幕后是如何实现的?每个进程是否实际上在某个其他节点上写入单个文件,还是每个进程都写入一些稀疏文件,在关闭文件时将它们拼接在一起?
了解这一点将有助于我决定是否将I/O操作视为通信或计算,并相应地调整平衡...
非常感谢您提供的任何见解。
Ross