Main class
#include <src/Main/Inciter.cpp>
Charm++ main chare for the shock hydrodynamics executable, inciter.
Charm++ main chare for the unit test suite executable, unittest.
Charm++ main chare for the mesh converter executable, meshconv.
In inciter the Charm++ runtime system is initialized only after the mesh has been read in, partitioned, and the necessary data structures, e.g., communication maps, have been generated. This delayed initialization of the Charm++ runtime system is required since the mesh partitioning is done by Zoltan, an MPI library. Note that this Charm++ main chare object should not be in a namespace.
Note that this object should not be in a namespace.
Constructors, destructors, conversion operators
Public functions
- 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 finalize()
- Towards normal exit but collect chare state first (if any)
-
void timestamp(std::string label,
tk::
real stamp) - Add a time stamp contributing to final timers output.
-
void timestamp(const std::vector<std::pair<std::string, tk::
real>>& s) - Add multiple time stamps contributing to final timers output.
- void quiescence()
- Entry method triggered when quiescence is detected.
- void execute()
- Execute tests, global scope data have been migrated and available.
- void finalize(bool pass)
- Normal exit.
- void quiescence()
- Entry method triggered when quiescence is detected.
Charm++ pack/unpack serializer member functions
-
std::vector<tk::
Timer> m_timer -
std::vector<std::pair<std::string, tk::
Timer:: Watch>> m_timestamp - Time stamps in h:m:s with labels.
- void pup(PUP::er& p) override
- Pack/Unpack serialize member function.
- void operator|(PUP::er& p, Main& m)
- Pack/Unpack serialize operator|.
Function documentation
Main:: Main(CkArgMsg* msg) explicit
Constructor.
Inciter's main chare constructor is the entry point of the Charm++ portion of inciter, called by the Charm++ runtime system. The constructor does basic initialization steps, 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::
Main:: Main(CkArgMsg* msg) explicit
#include <src/Main/MeshConv.cpp>
Constructor.
MeshConv'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::
Main:: Main(CkArgMsg* msg) explicit
#include <src/Main/UnitTest.cpp>
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, 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::
void Main:: finalize()
#include <src/Main/MeshConv.cpp>
Towards normal exit but collect chare state first (if any)
void Main:: timestamp(std::string label,
tk:: real stamp)
#include <src/Main/MeshConv.cpp>
Add a time stamp contributing to final timers output.
void Main:: timestamp(const std::vector<std::pair<std::string, tk:: real>>& s)
#include <src/Main/MeshConv.cpp>
Add multiple time stamps contributing to final timers output.
void Main:: quiescence()
#include <src/Main/MeshConv.cpp>
Entry method triggered when quiescence is detected.
void Main:: execute()
#include <src/Main/UnitTest.cpp>
Execute tests, global scope data have been migrated and available.
void Main:: finalize(bool pass)
#include <src/Main/UnitTest.cpp>
Normal exit.
void Main:: quiescence()
#include <src/Main/UnitTest.cpp>
Entry method triggered when quiescence is detected.
void Main:: pup(PUP::er& p) override
Pack/Unpack serialize member function.
Parameters | |
---|---|
p in/out | Charm++'s PUP::er serializer object reference |