HDF5文件中的节点已损坏

时间:2016-06-30 15:54:27

标签: python hdf5 h5py

我有一个在集群中运行的程序实例,该程序基本上使用h5py执行数值计算,读取和写入数字数组到 HDF5 文件。

当我尝试在群集中的不同计算节点中运行我的代码的多个实例时,所有正在运行的脚本都会崩溃。报告的错误是

  

KeyError:'无法获取链接信息(错误符号表节点签名)'

幸存的脚本继续运行没有问题。我在与HDF5通信的所有函数中使用了 with 语句,以确保在 I / O 操作完成后文件正确关闭。

有人可以解释一下这个错误是什么意思吗?

1 个答案:

答案 0 :(得分:0)

根据Andrew Collete的书 Python和HDF5

  

multiprocessing是Python最新的内置模块,它支持基本的基于fork()的并行处理。主要限制是您的并行进程无法共享单个HDF5文件,即使该文件是以只读方式打开的。这是HDF5库的限制.....

     

除此之外,基于MPI的Parallel HDF5是迄今为止最好的方式。 MPI是HDF5库支持的并行性的官方“风格”。您可以拥有无​​限数量的进程,所有进程都共享相同的打开HDF5文件。