-
When I delete omp, serial execution is normal I want to know what is the correct way for omp to read multiple h5 files in parallel, I think the introduction of highfive is to support parallel |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments
-
Other HighFive experts will help here but just want to point out that HighFive uses HDF5 library internally. So its worth reading HDF5 section about thread safety requirements: https://portal.hdfgroup.org/display/knowledge/Questions+about+thread-safety+and+concurrent+access |
Beta Was this translation helpful? Give feedback.
-
HDF5 is not thread-safe. As @pramodk pointed out, HighFive uses the HDF5 library underneath, and hence using openmp (or other multithreading frameworks) to parallelize HighFive operations isn't supported. |
Beta Was this translation helpful? Give feedback.
-
If I compile a parallel HDF5, can highfive use the parallel function? |
Beta Was this translation helpful? Give feedback.
-
Parallel HDF5 uses MPI to parallelize. While this won't give you thread-parallelism either, it is supported by HighFive. If you're looking to parallelize your HDF5 I/O, using distributed memory parallelism through HighFive with parallel HDF5 and MPI can be a viable choice, but that means that your application will have to be parallelized with MPI too. |
Beta Was this translation helpful? Give feedback.
Parallel HDF5 uses MPI to parallelize. While this won't give you thread-parallelism either, it is supported by HighFive. If you're looking to parallelize your HDF5 I/O, using distributed memory parallelism through HighFive with parallel HDF5 and MPI can be a viable choice, but that means that your application will have to be parallelized with MPI too.