MPI-Parallel HDF5:H5Pset_fapl_mpio 等同于 C++

MPI-Parallel HDF5: H5Pset_fapl_mpio equivalent in C++

我想在分布式内存集群上使用并行 HDF5 作为我的 MPI 应用程序的输出。我熟悉 C 接口,但也想尝试 C++ API。

然而,当我试图 "convert" 这个命令 H5Pset_fapl_mpio( p_list, MPI_COMM_WORLD, MPI_INFO_NULL ); 进入 C++ 时,我被卡住了。我无法在 API.

中找到相应的调用

如何通过 C++ 接口将 MPI 通信器正确地传递给 HDF5?

现阶段没有等效项,因为一些 MPI 调用尚未移植到 C++ API(根据最近的讨论,如 this one)。您必须记住,直到最近,C++ 层才支持 MPI。

您可能还想看看 htpp://h5cpp.ca,因为它也可能支持您的用例。

您可能想看看 HDFql,它完全支持并行 HDF5(即 HDF5+MPI)。它还可以减轻您 low-level 细节的负担,例如通过 H5Pset_fapl_mpio 设置某些参数(HDFql 会为您完成)。

您可以找到一个示例来说明如何在 C++ 中并行使用 HDFql(即 MPI)here