This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

Problem with HDF5 in parallel

+4 votes

Hello!

I have FEniCS 1.5 installed on Mac OS 10.9.5 and I am outputting the results of the calculation into an XDMF file:

namefile1 = 'phi.xdmf'
ufile_pvd1 = XDMFFile(mesh.mpi_comm(),namefile1)
ufile_pvd1 << phi

When I try to use more than 1 processor, the calculation works fine but the xdmf and h5 files are unreadable and I get the following error:

HDF5-DIAG: Error detected in HDF5 (1.8.10) MPI-process 0: #000:
/Users/johannr/fenics-1.5.0/fenics-superbuild/build-fenics/CMakeExternals/src/HDF5/src/H5F.c line 1500 in H5Fcreate(): unable to create file
major: File accessability
minor: Unable to open file #001: /Users/johannr/fenics-1.5.0/fenics-superbuild/build-fenics/CMakeExternals/src/HDF5/src/H5F.c line 1271 in H5F_open(): unable to open file: time = Fri Feb 6
15:25:00 2015 , name = 'phi.h5', tent_flags = 13
major: File accessability
minor: Unable to open file #002: /Users/johannr/fenics-1.5.0/fenics-superbuild/build-fenics/CMakeExternals/src/HDF5/src/H5FD.c
line 987 in H5FD_open(): open failed
major: Virtual File Layer
minor: Unable to initialize object #003: /Users/johannr/fenics-1.5.0/fenics-superbuild/build-fenics/CMakeExternals/src/HDF5/src/H5FDmpio.c
line 1052 in H5FD_mpio_open(): MPI_File_open failed
major: Internal error (too specific to document in detail)
minor: Some MPI function failed #004: /Users/johannr/fenics-1.5.0/fenics-superbuild/build-fenics/CMakeExternals/src/HDF5/src/H5FDmpio.c
line 1052 in H5FD_mpio_open(): MPI_ERR_OTHER: known error not in list
major: Internal error (too specific to document in detail)
minor: MPI Error String HDF5-DIAG: Error detected in HDF5 (1.8.10) MPI-process 0: #000:
/Users/johannr/fenics-1.5.0/fenics-superbuild/build-fenics/CMakeExternals/src/HDF5/src/H5L.c line 813 in H5Lexists(): not a location
major: Invalid arguments to routine
minor: Inappropriate type #001: /Users/johannr/fenics-1.5.0/fenics-superbuild/build-fenics/CMakeExternals/src/HDF5/src/H5Gloc.c
line 253 in H5G_loc(): invalid object ID
major: Invalid arguments to routine
minor: Bad value HDF5-DIAG: Error detected in HDF5 (1.8.10) MPI-process 0:

... and it goes on and on like this for more than a thousand lines

With only one processor however, I can visualize my results normally. Besides, this piece of code works also in parallel on my Ubuntu machine.

I saw online that this problem could be due to the openmpi version but it didn't help when I ran the code with a different version of openmpi

Does anyone have any idea what the issue is?

Thanks in advance!

asked Feb 6, 2015 by V_L FEniCS User (4,440 points)
edited Feb 6, 2015 by V_L

Are you sure that libhdf5 and libdolfin linked to "a different version of MPI" at runtime when you switched it?

1 Answer

+2 votes
answered Feb 21, 2015 by Jan Blechta FEniCS Expert (51,420 points)
...