DISPATCH
|
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 |
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.