【问题标题】:h5py.File function throws NameError for mpi4pyh5py.File 函数为 mpi4py 抛出 NameError
【发布时间】:2019-10-31 04:55:11
【问题描述】:

我将 h5py 与 mpi4py 一起使用。我正在读取一个带有h5py.File(fname, 'w', driver='mpio', comm=MPI.COMM_WORLD) 的h5 文件,但我得到了一个N​​ameError。

我检查了错误所在的源代码,它需要 h5py.h5.get_config().mpi 为 True 才能导入 mpi4py。但它设置为 False。 我安装了 mpi4py,它运行良好。

问题是在我更新 numpy 时开始的,我试图回到以前的版本,但它并没有解决问题。在此更新之前,我对 h5py 没有任何问题

完整的消息错误是:

  File "main.py", line 87, in <module>
    memory = H5_memory(MEM_SIZE, STATE_SHAPE , fname)
  File "/My/work/dir/memory.py", line 185, in __init__
    self.f = h5py.File(fname, 'w', driver='mpio', comm=MPI.COMM_WORLD)
  File "/home/miniconda/envs/lib/python3.5/site-packages/h5py/_hl/files.py", line 270, in __init__
    fapl = make_fapl(driver, libver, **kwds)
  File "/hom/miniconda/envs/lib/python3.5/site-packages/h5py/_hl/files.py", line 73, in make_fapl
    kwds.setdefault('info', mpi4py.MPI.Info())
NameError: name 'mpi4py' is not defined

您对如何解决这个问题有任何想法吗?我没有找到任何可以在线帮助我的答案。

谢谢

【问题讨论】:

  • 我重新安装了我的环境,现在它可以工作了,但我仍然想知道这个问题来自哪里以及如何解决它。

标签: python mpi hdf5 h5py mpi4py


【解决方案1】:

查看 h5py 的 installation documentation,看起来安装支持 MPI 的 HDF5 库的并行版本是一个选项,因此您可能在没有该选项的情况下安装了它,或者错误配置了环境变量,例如 HDF5_MPI=ON

【讨论】:

  • 感谢您的回答!我认为用 pip 安装它会处理它(因为已经安装了 mpi4py)。
猜你喜欢
  • 1970-01-01
  • 2020-12-08
  • 2021-08-01
  • 2018-10-29
  • 2021-10-10
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多