【问题标题】:h5py not built properly against mpi4pyh5py 没有针对 mpi4py 正确构建
【发布时间】:2015-12-16 12:02:32
【问题描述】:

我正在尝试针对 mpi4py 构建 h5py。我的目的是能够在多个处理器之间共享文件。 h5py 已安装在系统上,但可能没有指向 mpi4py 的链接。 事实上,当我运行以下示例脚本时:

from mpi4py import MPI
import h5py

rank = MPI.COMM_WORLD.rank  # The process ID (integer 0-3 for 4-process run)

f = h5py.File('parallel_test.hdf5', 'w', driver='mpio', comm=MPI.COMM_WORLD)

dset = f.create_dataset('test', (4,), dtype='i')
dset[rank] = rank

f.close()

我收到错误消息:

Traceback (most recent call last):
  File "h5py_example.py", line 6, in <module>
    f = h5py.File('parallel_test.hdf5', 'w', driver='mpio', comm=MPI.COMM_WORLD)
  File "/usr/local/lib/python2.7/site-packages/h5py/_hl/files.py", line 259, in __init__
    fapl = make_fapl(driver, libver, **kwds)
  File "/usr/local/lib/python2.7/site-packages/h5py/_hl/files.py", line 61, in make_fapl
    kwds.setdefault('info', mpi4py.MPI.Info())
NameError: global name 'mpi4py' is not defined

我尝试构建 h5py 如下:

python setup.py build --mpi --hdf5=/opt/local/

但这给了我以下问题:

error: option --mpi not recognized

我也尝试过使用 homebrew 和 pip 安装 (希望 mpi4py 已自动链接) 没有成功。

如何正确安装并行 h5py?

【问题讨论】:

  • 我有同样的问题,从 apt 安装包。维护者也应该解决这个问题。

标签: python build h5py mpi4py


【解决方案1】:
  1. python setup.py configure --mpi --hdf5=/path_parallel_hdf5_lib/

  2. python setup.py build

  3. python setup.py install --prefix=/wheretoinstall_h5py

  4. export PYTHONPATH=$PYTHONPATH:/wheretoinstall_h5py

您可能还需要预安装 cython

【讨论】:

  • 这可能很明显(我不懂 Python),但你能解释一下为什么 OP 应该使用“配置”而不是“构建”吗?
  • 能否汇报一下从一开始的安装步骤?我已经用 hdf5 下载了 tar 存档。
  • 对不起,我的意思是你应该 edit 你刚刚评论给 Helios83 的信息到你的答案中。
  • @BSMP,好的,(我第一次在 stackoverflow 上发帖)
  • @Jaylin,anaconda 构建看起来不像是为 MPI 设置的。
猜你喜欢
  • 1970-01-01
  • 2021-08-07
  • 2017-06-08
  • 2021-09-27
  • 2018-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
相关资源
最近更新 更多