HDF5 VOL for PDC¶
Installing HDF5 VOL for PDC from source¶
The following instructions are for installing PDC on Linux and Cray machines. These instructions assume that PDC and its dependencies have all already been installed from source (libfabric and Mercury).
Install HDF5¶
If a local version of HDF5 is to be used, then the following can be used to install HDF5.
$ wget "https://www.hdfgroup.org/package/hdf5-1-12-1-tar-gz/?wpdmdl=15727&refresh=612559667d6521629837670"
$ mv index.html?wpdmdl=15727&refresh=612559667d6521629837670 hdf5-1.12.1.tar.gz
$ tar zxf hdf5-1.12.1.tar.gz
$ cd hdf5-1.12.1
$ ./configure --prefix=$HDF5_DIR
$ make
$ make check
$ make install
$ make check-install
Building VOL-PDC¶
$ git clone https://github.com/hpc-io/vol-pdc.git
$ cd vol-pdc
$ mkdir build
$ cd build
$ cmake ../ -DHDF5_INCLUDE_DIR=$HDF5_INCLUDE_DIR -DHDF5_LIBRARY=$HDF5_LIBRARY -DBUILD_SHARED_LIBS=ON -DHDF5_DIR=$HDF5_DIR
$ make
$ make install
To compile and run examples:
$ cd vol-pdc/examples
$ cmake .
$ make
$ mpirun -N 1 -n 1 -c 1 <pdc installation directory>/bin/pdc_server.exe &
$ mpirun -N 1 -n 1 -c 1 ./h5pdc_vpicio test
$ mpirun -N 1 -n 1 -c 1 <pdc installation directory>/bin/close_server
VOL Function Notes¶
The following functions have been properly defined:
H5VL_pdc_info_copy
H5VL_pdc_info_cmp
H5VL_pdc_info_free
H5VL_pdc_info_to_str
H5VL_pdc_str_to_info
H5VL_pdc_file_create
H5VL_pdc_file_open
H5VL_pdc_file_close
H5VL_pdc_file_specific
H5VL_pdc_dataset_create
H5VL_pdc_dataset_open
H5VL_pdc_dataset_write
H5VL_pdc_dataset_read
H5VL_pdc_dataset_get
H5VL_pdc_dataset_close
H5VL_pdc_introspect_get_conn_cls
H5VL_pdc_introspect_get_cap_flags
H5VL_pdc_group_create
H5VL_pdc_group_open
H5VL_pdc_attr_create
H5VL_pdc_attr_open
H5VL_pdc_attr_read
H5VL_pdc_attr_write
H5VL_pdc_attr_get
H5VL_pdc_object_open
H5VL_pdc_object_get
H5VL_pdc_object_specific
Any function not listed above is either not currently used by the VOL and therefore does nothing or is called by the VOL, but doesn’t need to do anything relevant to the VOL and therefore does nothing.