Exploiting Exascale10 (E10) for I/ optimisation of a Lattice QCD code.
The benefits of Exascale10 (E10)
Exploiting Exascale10 (E10) offers two benefits to application developers:
- First, they can optimise their use of collective MPI-IO operations.
- Second, E10 allows them to leverage the local fast storage provided by NVMe devices.
With respect to the first, Exascale10 is a parallel I/O mechanism that overcomes current limitations of collective MPI-IO operations. The MPIWRAP library provides wrappers for MPI_Init,
MPI_Finalize, MPI_File_open and MPI_File_close. The wrapper functions use a configuration file containing hints for the MPI-IO configuration. Considering the second functionality, the library offers features to exploit the SSD cache, consequently taking advantage of the NVMe devices.
Reducing writing time without any code changes
The latter one is used for instance by the QCD code Chroma from University of Regensburg. A highlight for all application developers: absolutely no code changes are needed to make use of E10. With MPIWRAP, the user can dynamically change the information passed to the MPI-IO system without having to modify the application. All the required information is collected in the configuration file. Users just need to link the MPIWRAP library to the application. With this approach, the writing time within Chroma could be reduced by up to 57%.