IOR executed with transfer size and block size 1MB
srun --export ALL $INSTALL_DIR/bin/ior -a HDF5 -b 1G -t 1G -C -e
ior -a HDF5 -b 10GB -t 1GB ; ior -a MPIIO -b 10GB -t 1GB
Created by Steven Varga in co-operation with Gerd Heber, HDFGroup
Online version of this presentation: http://chicago.h5cpp.org
typedef unsigned long long int MyUInt;
namespace sn {
namespace example {
struct Record {
MyUInt field_01;
char field_02;
double field_03[3];
other::Record field_04[4];
};
}
}
write your cpp program as if `generated.h` were already written #include "some_header_file.h" #include <h5cpp/core> #include "generated.h" #include <h5cpp/io> int main(){ std::vector<sn::example::Record> stream = ... h5::fd_t fd = h5::create("example.h5",H5F_ACC_TRUNC); h5::pt_t pt = h5::create<::example::Record>( fd, "stream of struct", h5::max_dims{H5S_UNLIMITED,7}, h5::chunk{4,7} | h5::gzip{9} ); ... }
h5::create | h5::write | h5::read | h5::append
will trigger the `h5cpp` compiler to generate code