DISPATCH
data_io_mod Module Reference

Interface from gpatch_mod to a choice of binary data I/O methods, controlled by the iomethod text string – optionally (but deprecated) by iodo_legacy or iodo_direct. More...

Data Types

type  data_io_t
 
type  io_kind_t
 

Variables

type(data_io_t), public data_io
 

Detailed Description

Interface from gpatch_mod to a choice of binary data I/O methods, controlled by the iomethod text string – optionally (but deprecated) by iodo_legacy or iodo_direct.

Concerning thread safety: Simultaneous calls from many threads are typical, and it is the responsibility of each sub-module here (e.g. parallel_io_mod) to introduce critical regions to protect agains simultaneus calls to non- threadsafe procedures, or if/when accessing modified shared data.

To prevent other threads from getting into trouble while collective MPI calls are being made, the iohalt flag is set while this is happening, and since the data_ioopen_and_close() procedure is called in every task_listupdate iteration, trap can be activated there, causing all threads except the one doing collective MPI I/O calls to wait.