Auszug |
---|
HDF5 - hierarchical data format |
Documentation
HDF5 is a data model, library, and file format for storing and managing data. It can represent very complex data objects and a wide variety of metadata.
...
Documentation
For a documentation visit the HDF group support portal
Installed versions
Serial HDF5
The libraries are threadsafe and can be used in omp-parallel codes.
Parallel hdf5We cannot support all combinations of hdf5, compiler and mpi. If none of the installed version works, please contact support for installation of missing versions.
Serial HDF-5
Version | Compiler | Module | API |
---|---|---|---|
1.10.5 | intel/18.0.6 | hdf5/intel/1.10.5 | v110 |
1.10.5 | gcc/7.5.0 | hdf5/gcc.7/1.10.5 | v110 |
1.10.5 | gcc/8.3.0 | hdf5/gcc.8/1.10.5 | v110 |
1.10.6 | gcc/8.3.0 | hdf5/gcc.8/1.10.6 | v110 |
1.10.7 | gcc/9.3.0 | hdf5/gcc.9/1.10.7 | v110 |
1.12.1 | intel/19.0.5 | hdf5/intel/1.12.1 | v112 |
1.12.2 | gcc/8.3.0 | hdf5/gcc.8/1.12.2 | v112 |
1.12.2 | gcc/9.3.0 | hdf5/gcc.9/1.12.2 | v112 |
1.12.2 | intel/2022.2 | hdf5/intel/1.12.2 | v112 |
Parallel HDF-5
Version | Compiler, MPI | Module | API |
1.10.5 | intel/18.0.6, impi/2018.5 | hdf5-parallel/impi/intel/1.10.5 | v110 |
1.12.0 | intel/19.1.2, parallel *impi/2019.8 | hdf5-parallel/impi/intel/1.12.0 | v112 |
1.10.6 | gccintel/918.20.06, openmpi/gcc.9intel/3.1.56 | hdf5-parallel/ompi/gccintel/1.10.6 | v110, parallel * |
1.10.65 | intel gcc/ 188.3.0 .6, openmpi/ intelgcc.9/3.1. 65 | hdf5-parallel/ompi/gcc.8/1.10.65 | v110, parallel * |
1. 1210. 06 | intelgcc/199.2.0, openmpi/gcc.9/3.1.5 | hdf5/intel-parallel/ompi/gcc.9/1.1210.0 v112, serial *6 | v110 |
1.12.01 | gcc/8.3.0, openmpi/gcc.9/3.1.5 | hdf5-parallel/ompi/gcc.8/1.12.0 | v112, serial * |
The libraries are threadsafe and can be used in omp-parallel codes. To see configure-details on the installed libraries, load a hdf5-module and issue cat $HDF5DIR/libhdf5.settings!
Modules
...
Example Jobscripts
...
language | bash |
---|
...
and Prerequisites
- module avail hdf5 shows all available hdf5 versions
- module show <modulename> shows environment variables set when loading the module
- module help <modulename>shows some details on compilers and MPI
Loading a module adds the path to some hdf5-binaries to $PATH. For convenience, some other environmental variables are extended or defined, which satisfies the needs of several software packages for linking the hdf5-libraries:
PATH, LD_RUN_PATH
C_INCLUDE_PATH, CPLUS_INCLUDE_PATH,
HDF5DIR, HDF5INCLUDE, HDF5LIB
HDF5_HOME, HDF5_ROOT
The module files do not require any prerequisites. All dynamically linked libraries are found, since RPATH is defined in libraries and binaries. For an example, consider
- readelf -a $HDF5DIR/libhdf5_hl.so | grep RPATH
Linking the hdf5-libraries in user programs
Loading a hdf5-module does not link the libraries automatically, when compiling some other software. hdf5 does not deliver any standard way to detect the path to the libraries like pkg-config. So you have to configure Makefiles or install-scripts "by hand". The environment variables exported by the modules should allow short and flexible notation.
hdf5-modules do not have any effect during the runtime of your binaries. If the hdf5-libraries are linked dynamically, it is recommended to set RPATH in the binary. Otherwise the hdf5-libraries (and others) will not be found, during runtime. This can be done with the compiler option -Wl,-rpath=$LD_RUN_PATH, which passes the rpath to the linker.
hdf5 compiler wrapper
The compiler wrapper h5cc, h5fc (parallel h5pcc and h5pfc) can be used to build programs linking the hdf5-libraries. These wrappers set rpath
for all libraries to be linked dynamically for hdf5.