|
IOSS
2.0
|
Class SerializeIO is a sentry class which performs serialization for mesh database I/O.
More...
#include <Ioss_SerializeIO.h>
Public Member Functions | |
| SerializeIO (const DatabaseIO *database_io, int manual_owner_processor=-1) | |
| SerializeIO (const SerializeIO &from)=delete | |
| SerializeIO & | operator= (const SerializeIO &from)=delete |
| ~SerializeIO () | |
Static Public Member Functions | |
| static int | getOwner () |
| static int | getRank () |
| static int | getSize () |
| static int | getGroupRank () |
| static int | getGroupSize () |
| static void | setGroupFactor (int factor) |
| static bool | isEnabled () |
| static bool | inBarrier () |
| static bool | inMyGroup () |
Private Attributes | |
| const DatabaseIO * | m_databaseIO |
| Database I/O pointer. More... | |
| bool | m_activeFallThru |
| No barries since my group is running. More... | |
| int | m_manualOwner |
| Manually specified owner. More... | |
Static Private Attributes | |
| static int | s_groupFactor = 0 |
| Grouping factor. More... | |
| static int | s_size = -1 |
| Number of processors. More... | |
| static int | s_rank = -1 |
| My processor rank. More... | |
| static int | s_groupSize = -1 |
| Number of groups. More... | |
| static int | s_groupRank = -1 |
| My group rank. More... | |
| static int | s_owner = -1 |
| Group currently running. More... | |
Class SerializeIO is a sentry class which performs serialization for mesh database I/O.
This sentry guards serialization of parallel I/O routines. At construction, it blocks the processes via an MPI barrier, releasing them to execute in groups specified by s_groupSize. At destruction, it continues to block via MPI barriers until all the processor have been released by the constructor.
In the case where the constructor is called, and the sentry is already active and owned by the processes group, the constructor and destrutor simply fall through since the serialization is already in place at a higher level.
The MPI
|
explicit |
Creates a new SerializeIO instance.
| database_io | a DatabaseIO variable ... |
|
delete |
| Ioss::SerializeIO::~SerializeIO | ( | ) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
delete |
|
static |
|
private |
No barries since my group is running.
|
private |
Database I/O pointer.
|
private |
Manually specified owner.
|
staticprivate |
Grouping factor.
|
staticprivate |
My group rank.
|
staticprivate |
Number of groups.
|
staticprivate |
Group currently running.
|
staticprivate |
My processor rank.
|
staticprivate |
Number of processors.