Я пытаюсь собрать h5py против mpi4py. Моя цель - иметь возможность совместно использовать файл между несколькими процессорами. 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?