Main class

Charm++ main chare for the random number generator test suite executable, rngtest.

Charm++ main chare for the random walker executable, walker.

Charm++ main chare for the unit test suite executable, unittest.

Note that this object should not be in a namespace.

Constructors, destructors, conversion operators

Main(CkArgMsg* msg)
Constructor.
Main(CkArgMsg* msg)
Constructor.
Main(CkArgMsg* msg)
Constructor.

Public functions

void finalize()
Towards normal exit but collect chare state first (if any)
void quiescence()
Entry method triggered when quiescence is detected.
void dumpstate(CkReductionMsg* msg)
Dump chare state.
void finalize(bool pass)
Towards normal exit but collect chare state first (if any)
void quiescence()
Entry method triggered when quiescence is detected.
void dumpstate(CkReductionMsg* msg)
Dump chare state.
void execute()
Execute driver created and initialized by constructor.
void finalize()
Towards normal exit but collect chare state first (if any)
void quiescence()
Entry method triggered when quiescence is detected.
void dumpstate(CkReductionMsg* msg)
Dump chare state.
void timestamp(std::string label, tk::real stamp)
Add time stamp contributing to final timers output.

Function documentation

Main::Main(CkArgMsg* msg)

Constructor.

RNGTest's main chare constructor is the entry point of the program, called by the Charm++ runtime system. The constructor does basic initialization steps, e.g., parser the command-line, prints out some useful information to screen (in verbose mode), and instantiates a driver. Since Charm++ is fully asynchronous, the constructor usually spawns asynchronous objects and immediately exits. Thus in the body of the main chare constructor we fire up an 'execute' chare, which then calls back to Main::execute(). Finishing the main chare constructor the Charm++ runtime system then starts the network-migration of all global-scope data (if any). The execute chare calling back to Main::execute() signals the end of the migration of the global-scope data. Then we are ready to execute the driver. Since the random number generator test suite is parallel and asynchronous, its driver fires up additional Charm++ chare objects which then call back to Main::finalize() at some point in the future when all work has been finished. finalize() then exits by calling Charm++'s CkExit(), shutting down the runtime system.

Main::Main(CkArgMsg* msg)

Constructor.

UnitTest's main chare constructor is the entry point of the program, called by the Charm++ runtime system. The constructor does basic initialization steps, e.g., parser the command-line, prints out some useful information to screen (in verbose mode), and instantiates a driver. Since Charm++ is fully asynchronous, the constructor usually spawns asynchronous objects and immediately exits. Thus in the body of the main chare constructor we fire up an 'execute' chare, which then calls back to Main::execute(). Finishing the main chare constructor the Charm++ runtime system then starts the network-migration of all global-scope data (if any). The execute chare calling back to Main::execute() signals the end of the migration of the global-scope data. Then we are ready to execute the driver. Since the unit test suite is parallel and asynchronous, its driver fires up additional Charm++ chare objects which then call back to Main::finalize() at some point in the future when all work has been finished. finalize() then exits by calling Charm++'s CkExit(), shutting down the runtime system.

Main::Main(CkArgMsg* msg)

Constructor.

Walker's main chare constructor is the entry point of the program, called by the Charm++ runtime system. The constructor does basic initialization steps, e.g., parser the command-line, prints out some useful information to screen (in verbose mode), and instantiates a driver. Since Charm++ is fully asynchronous, the constructor usually spawns asynchronous objects and immediately exits. Thus in the body of the main chare constructor we fire up an 'execute' chare, which then calls back to Main::execute(). Finishing the main chare constructor the Charm++ runtime system then starts the network-migration of all global-scope data (if any). The execute chare calling back to Main::execute() signals the end of the migration of the global-scope data. Then we are ready to execute the driver. Since the random walker is parallel and asynchronous, its driver fires up additional Charm++ chare objects which then call back to Main::finalize() at some point in the future when all work has been finished. finalize() then exits by calling Charm++'s CkExit(), shutting down the runtime system.