HDF5 doesn't support writing VLENs with parallel I/O?


I was writing some netCDF tests for parallel I/O, trying to write an array of strings with parallel I/O.

But I get this error:

HDF5-DIAG: Error detected in HDF5 (1.10.1) MPI-process 2:
#000: H5Dio.c line 269 in H5Dwrite(): can’t prepare for writing data
major: Dataset
minor: Write failed
#001: H5Dio.c line 345 in H5D__pre_write(): can’t write data
major: Dataset
minor: Write failed
#002: H5Dio.c line 656 in H5D__write(): Parallel IO does not support writing VL datatypes yet
major: Dataset
minor: Feature is unsupported

This suprised me. Will VLEN ever be supported with parallel I/O?

Is this just a restriction on writing? Can I read VLENs with parallel I/O?


Hi Ed,

Yes, this is a known limitation of the parallel HDF5 implementation. Enabling support for VL types is on our to-do list, but there is no time estimate when it will be available.


As this is an older thread I would like to know if the situation changed, is there a time estimate now?

No change. The current (internal) VL representation is rather inefficient and parallelization would probably make sense only after that’d been fixed/revised. G.

Hello guys,

I just ran into the same situation. Would HDF5 support VLEN with parallel IO now?

Thanks for your help in advance!

No updates, but this will be a topic of discussion at HUG’23. G.

Thanks, my issue has been fixed.