NERSCPowering Scientific Discovery Since 1974

HDF5

Description and Overview

Hierarchical Data Format version 5 (HDF5) is a set of file formats, libraries, and tools for storing and managing large scientific datasets. Originally developed at the National Center for Supercomputing Applications, it is currently supported by the non-profit HDF Group.

HDF5 is different product from previous versions of software named HDF, representing a complete redesign of the format and library.  It also includes improved support for parallel I/O. The HDF5 file format is not compatible with HDF 4.x versions. You can use the 'h5toh4' and 'h4toh5' converters that are available on all NERSC machines. 

If you are not familiar with parallel I/O, please refer to the tutorial below. 

Scientific I/O Tutorial

Using HDF5 On Hopper

There are HDF5 libraries provided by Cray and by NERSC. Use the command "module avail hdf5" to see the available versions. The default HDF5 library for use with the default PGI compiler suite is provided by Cray.

Cray serial HDF5 with PGI Compiler

% module load hdf5 
% ftn ... (for Fortran code)
% cc ... (for C code)
% CC ... (for C++ code)

Cray serial HDF5 with GNU Compiler

     % module swap PrgEnv-pgi PrgEnv-gnu
% module load hdf5
% ftn ... (for Fortran code)
% cc ... (for C code)
% CC ... (for C++ code)

NERSC serial HDF5 library with PGI Compiler

     % module load hdf5/1.8.7
% h5cc ... (for C code)
% h5fc ... (for Fortran code)
% h5c++ ... (for C++ code)

NERSC serial HDF5 with Intel Compiler

     % module swap PrgEnv-pgi PrgEnv-intel
% module load hdf5/1.8.7
% h5cc ... (for C code)
% h5fc ... (for Fortran code)
% h5c++ ... (for C++ code)

Cray parallel HDF5 with PGI Compiler

     % module load hdf5-parallel 
% ftn ... (for Fortran code)
% cc ... (for C code)

Cray parallel HDF5 with Cray Compiler

     % module swap PrgEnv-pgi PrgEnv-cray 
% module load hdf5-parallel
% ftn ... (for Fortran code)
% cc ... (for C code)

Using HDF5 On Euclid/Carver

Serial HDF5

    % module load hdf5 
% h5fc ...
% h5cc ...
or
% mpif90 ... $HDF5
% mpicc ... $HDF5

Parallel HDF5

   % module load hdf5_parallel
% h5pfc ...
% h5pcc ...
or
% mpif90 ... $HDF5
% mpicc ... $HDF5

Documentation

For questions about HDF5 on any NERSC systems send e-mail to consult@nersc.gov.

Additional information is available at The HDF Group.

Availability at NERSC

PackagePlatformCategoryVersionModuleInstall DateDate Made Default
hdf5 carver libraries/ I/O Parallel 1.8.3 hdf5_parallel/1.8.3 2010-02-26 2010-02-26
hdf5 euclid libraries/ I/O 1.8.3 hdf5/1.8.3 2010-02-26 2010-02-26
hdf5 euclid libraries/ I/O Parallel 1.8.4 hdf5-parallel/1.8.4 2010-04-29 2010-04-29
HDF5 genepool applications/ bioinformatics 1.8.7 hdf5/1.8.7 2012-04-04 2012-04-04
hdf5 genepool libraries/ general 1.8.9 hdf5/1.8.9 2012-07-19 2012-07-19
hdf5 genepool libraries/ general 4.10.2 rpm/4.10.2 2013-01-24 2013-01-24
hdf5 hopper libraries/ I/O 1.8.4.1 (Cray version) hdf5/1.8.4.1 2010-08-18 2010-08-18
hdf5 hopper libraries/ I/O 1.8.5.0 (Cray version) hdf5/1.8.5.0 2010-09-01 2010-09-01
hdf5 hopper libraries/ I/O 1.8.6 (Cray version) hdf5/1.8.6 2011-11-07
HDF5 hopper libraries/ I/O 1.8.7 hdf5/1.8.7 2012-01-14 2012-01-25
HDF5 hopper libraries/ I/O 1.8.8 hdf5/1.8.8 2012-06-13 2012-08-15
hdf5 hopper libraries/ I/O Parallel 1.8.4.1 (Cray version) hdf5-parallel/1.8.4.1 2010-08-18 2010-08-18
hdf5 hopper libraries/ I/O Parallel 1.8.5.0 (Cray version) hdf5-parallel/1.8.5.0 2010-09-01 2010-09-01
hdf5 phoebe libraries/ general 1.8.9 hdf5/1.8.9 2012-07-26 2012-07-26