HDF5

Building HDF5 with Arm Compiler


Overview Before you begin Procedure Related information

Overview

How to build HDF5 with Arm Compiler for HPC.

Hierarchical Data Format (HDF) is a set of file formats that store and organize large and complex data sets together with API's for Fortran, C, and C++. For more information on HDF, see the HDF website.

The following components are used in this build:

 Component Form
 HDF5  Version 1.10.5
 Arm Compiler for HPC
 Version 19.2
 Open MPI  Version 4.0.1
 Operating system  RHEL 7.5
 Hardware
 Cavium ThunderX2

Recipes for other versions of the application are available in the GitLab Packages Wiki.

Procedure

  1. Create build and install locations, and set them using the environment variables build_dir and install_dir. For example:

    mkdir hdf5_build
    mkdir hdf5_install
    export build_dir=/path/to/hdf5_build
    export install_dir=/path/to/hdf_install

    Replace /path/to/ with the path to the new directories.

  2. Download and unpack HDF5:

    cd $build_dir
    wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.5/src/hdf5-1.10.5.tar.gz
    tar -zxvf hdf5-1.10.5.tar.gz
    cd hdf5-1.10.5
  3. To build parallel IO and the Fortran interface, run ./configure with the following arguments:

    ./configure CC=mpicc FC=mpif90 CXX=mpicxx --enable-parallel --enable-fortran --with-pic --prefix=$install_dir
  4. The configure script does not detect armflang. To detect armflang, patch the libtool script that is generated by the configure script:

    sed -i -e 's#wl=""#wl="-Wl,"#g' libtool
    sed -i -e 's#pic_flag=""#pic_flag=" -fPIC -DPIC"#g' libtool
  5. Build and install HDF5, using:

    make -j
    make install