Python并行编程的HDF5输出错误(HDF5:无限循环关闭库)

Python并行编程的HDF5输出错误(HDF5:无限循环关闭库),python,parallel-processing,mpi,hdf5,h5py,Python,Parallel Processing,Mpi,Hdf5,H5py,我正在尝试用MPI并行我的python代码。我从txt文件中读取输入,并将输出写入HDF5文件。当我仅向队列中的一个节点32ppn提交作业时,打开输出hdf5文件$h5dump groups_25x25x25.hdf5时,会出现以下错误: h5dump错误:内部错误文件h5dump.c:第1615行 HDF5:无限循环关闭库 D、 这是一个E、E、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、

我正在尝试用MPI并行我的python代码。我从txt文件中读取输入,并将输出写入HDF5文件。当我仅向队列中的一个节点32ppn提交作业时,打开输出hdf5文件$h5dump groups_25x25x25.hdf5时,会出现以下错误:

h5dump错误:内部错误文件h5dump.c:第1615行 HDF5:无限循环关闭库 D、 这是一个E、E、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL、FL飞行高度层,飞行高度层,飞行高度层,飞行高度层,飞行高度层,飞行高度层,飞行高度层,飞行高度层,飞行高度层

当我从主目录mpiexec-l-n4 python find_bounded_v2.py运行程序时,我得到以下错误:h5dump错误:内部错误文件h5dump.c:第1615行

我检查了run.log,程序运行正常,因此可能与输入/输出有关

以下是我修改I/o的代码部分,可能是错误源:

comm = MPI.COMM_WORLD
rank = comm.Get_rank()
size = comm.Get_size()

[SOME OTHER STUFF]
numbounded= np.zeros (1)
totalbounded= np.zeros(1)

f= h5py.File ("groups_25x25x25.hdf5", "w")
bh = f.create_group ("bounded_neighbors") 

for k in range(local_start, local_end):
    target = ids[k]
    bound_ids=Energy
(target_halo,np.array(mvir),np.array(x),np.array(y),np.array(z),np.array(vx),np.array(vy),np.array(vz),np.array (ids))
    bh.create_dataset(str(target), data= bound_ids)
    numbounded[0]+= len (bound_ids)

comm.Allreduce(numbounded,totalbounded, op = MPI.SUM)
[SOME OTHER STUFF]
f.close()

我所有的日志文件看起来都很好,但输出文件就是不工作,因为我一直收到上面的错误。我是MPI新手,因此如果您对修复有任何建议,我将不胜感激

您能在这里填写一些空白以便我们有一个可复制的测试用例吗?在阅读中,您不需要用MPIO驱动程序打开文件并指定一个通信器吗?f=h5py.File'parallel\u test.hdf5','w',driver='mpio',comm=MPI.comm\u WORLD