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