openPMD / openPMD-api

:floppy_disk: C++ & Python API for Scientific I/O
https://openpmd-api.readthedocs.io
GNU Lesser General Public License v3.0
134 stars 51 forks source link

MPI-I/O Hints #1449

Open ax3l opened 1 year ago

ax3l commented 1 year ago

Recent MPI standards provide in Chapter 14 - 14.2. FILE MANIPULATION standardized options to describe file striping, e.g., on Lustre.

ROMIO seems to support this well and also OpenMPI's OMPIO works well with those in 5.0+: https://github.com/open-mpi/ompi/issues/10132

We should consider exposing these options and setting reasonable defaults :)

https://www.mpi-forum.org/docs/mpi-4.0/mpi40-report.pdf

Older keys in T3PIO for ROMIO only: https://github.com/TACC/t3pio/blob/0ea823059607bd17c0faf0dd80c5a3979bf4ba69/libt3pio/set_info.c#L160-L173

franzpoeschel commented 1 year ago

Note from VC: Since these heavily impact performance, adding these defaults is legitimate. However, they will (probably?) take precedence over user-specified parameters from the command line mpirun .... An option for deactivating these optimizations should be used. (We might check environment variables for some parameters. Afaik, mpirun turns some command line flags into environment variables)