并行 HDF5 MPI I/O 传输模式的区别(独立与集体)

问题描述 投票:0回答:1

根据HDF5手册,可以通过HDF5函数

H5Pset_dxpl_mpio(...)
设置“MPI I/O传输模式”。其中一个参数是传输模式。它可以是 H5FD_MPIO_INDEPENDENT(默认)或 H5FD_MPIO_COLLECTIVE。我找不到这两个选项之间的区别。它是什么?如果我在 hyperslab 中写入时手动计算偏移量(每个 mpi 进程),是否需要 H5FD_MPIO_COLLECTIVE?

在所有进程之间写入一个共享文件的小型并行程序中,我尝试在两个选项之间切换,没有区别,没有警告或崩溃。

parallel-processing hdf5 mpi-io
1个回答
0
投票

Independent vs Collective 是一个 MPI I/O 概念(不特定于 HDF5 API)。有一份旧的 HDF Group 文档对此进行了讨论。参考:集体 I/O 和独立 I/O 与派生数据类型的性能比较(约 2006 年)

简而言之,《Independent IO就是每个进程独立做IO,而Collective IO在做IO操作的时候需要所有进程都参与。Collective IO的好处是可以让MPI-IO做优化提高IO性能。

简介有一个很好的例子来解释这两个过程的区别。

您可能看不到性能差异,因为您正在写入少量数据。

谷歌“mpi independent vs collective”找到更多 MPI IO 参考(不是特定于 HDF5)。

© www.soinside.com 2019 - 2024. All rights reserved.