GYSELA Mini App
A minimal application demonstrating GYSELA I/O operations and testing the cpu performance scaling for 5D particle distribution functions.
Overview
This mini application:
- Initialises a 5D particle distribution function (species × toroidal coordinates × velocity space)
- Writes the distribution function and mesh coordinates to HDF5 files
- Measures and saves CPU timing statistics
Usage
mpirun -n <nprocs> ./gys_io [config.yaml] [pdi_config.yml]
config.yaml: Input configuration file (default: uses built-in defaults)pdi_config.yml: PDI configuration file (default: usespdi_default.yml.hpp)
Example
mpirun -n 4 ./gys_io gys_io.yaml
Configuration
Edit gys_io.yaml to configure:
- Mesh: Grid sizes and ranges for toroidal coordinates (Tor1, Tor2, Tor3) and velocity space (Vpar, Mu)
- Species: Number of species, charges, masses
- Application version:
"gpu2cpu","mpi_transpose", or"in-situ-diagnostic"
Output Files
fdistribu_5D_output.h5: Distribution function and mesh coordinatescpu_time_stats.h5: CPU timing statistics (initialisation, transpose, GPU↔CPU transfer, I/O)