Classes | |
class | Buffer |
Generic memory buffer implementation. More... | |
class | Callsite |
Stores information related to a call site. More... | |
class | Cartesian |
Stores information related to cartesian grid topologies. More... | |
class | CNode |
Stores information related to a call tree node. More... | |
class | CountedPtr |
Non-intrusive reference-counted smart pointer. More... | |
class | Error |
Base class for exceptions related to the PEARL library. More... | |
class | RuntimeError |
Exception class related to the PEARL library for recoverable errors. More... | |
class | FatalError |
Exception class related to the PEARL library for unrecoverable errors. More... | |
class | MemoryError |
Exception class related to the PEARL library that is used to signal out of memory situations. More... | |
class | Event_rep |
Base class for all event representations. More... | |
class | GlobalDefs |
Stores the global definitions of a tracing experiment. More... | |
class | Group |
Stores information related to a group of processes. More... | |
class | IdObject |
Base class for entities with a numerical identifier. More... | |
class | Event |
Generic representation for local events with iterator functionality. More... | |
class | LocalTrace |
Container class for local event traces. More... | |
class | Location |
Stores the information that uniquely identifies a location in the system hierarchy. More... | |
class | Machine |
Stores information related to a machine used during trace file generation. More... | |
class | Metric |
Stores information related to additional performance metrics. More... | |
class | NamedObject |
Base class for named entities with a numerical identifier. More... | |
class | Node |
Stores information related to a node that is part of a machine used for trace generation. More... | |
class | Process |
Stores information related to a process of the target application. More... | |
class | Region |
Stores information related to a source-code region. More... | |
class | RemoteEvent |
Generic representation for remote events without iterator functionality. More... | |
class | RmaWindow |
Base class for remote memory access windows. More... | |
class | SmallObject |
Provides a base class for small objects using a custom memory management. More... | |
class | Thread |
Stores information related to a thread of the target application. More... | |
class | Topology |
Base class for virtual topologies. More... | |
class | EventSet |
Container class for a set of local events with associated roles. More... | |
class | MpiCartesian |
Stores information related to a virtual cartesian MPI topology. More... | |
class | MpiComm |
Stores information related to an MPI communicator. More... | |
class | MpiMessage |
Abstraction layer for MPI messages. More... | |
class | MpiWindow |
Stores information related to an MPI-2 remote memory access window. More... | |
class | RemoteEventSet |
Container class for a set of remote events with associated roles. More... | |
class | Callback |
Abstract base class for callback objects. More... | |
class | CallbackData |
Base class for data objects passed to callback function during replay. More... | |
class | CallbackManager |
Manages a set of callback objects and provides a simple notification mechanism. More... | |
class | CompoundTask |
Maintains a set of tasks and executes them in sequence. More... | |
class | ReplayTask |
Abstract base class for a replay-based trace analysis task. More... | |
class | ForwardReplayTask |
Base class for forward trace-replay tasks. More... | |
class | BackwardReplayTask |
Base class for backward trace-replay tasks. More... | |
class | Task |
Abstract base class for a generic Task. More... | |
class | TaskWrapper |
Abstract base class for a wrapper task. More... | |
Typedefs | |
typedef double | timestamp_t |
Data type for timestamp values. | |
typedef uint32_t | ident_t |
Data type for identifiers. | |
typedef uint32_t | line_t |
Data type for line number information. | |
typedef CountedPtr< Callback > | CallbackPtr |
Type name for reference-counted callback objects. | |
Enumerations | |
enum | event_t { ANY, FLOW, ENTER, ENTER_CS, EXIT, MPI_COLLEXIT, MPI_P2P, MPI_SEND, MPI_RECV, OMP_FORK, OMP_JOIN, OMP_COLLEXIT, OMP_LOCK, OMP_ALOCK, OMP_RLOCK, NUM_EVENT_TYPES } |
Enumeration defining available event types. | |
Functions | |
void | PEARL_new_handler () |
std::ostream & | operator<< (std::ostream &stream, const IdObject &item) |
std::ostream & | operator<< (std::ostream &stream, const Event &event) |
std::string | event_typestr (event_t type) |
std::ostream & | operator<< (std::ostream &stream, const Location &item) |
std::ostream & | operator<< (std::ostream &stream, const NamedObject &item) |
std::ostream & | operator<< (std::ostream &stream, const RemoteEvent &event) |
template<class classT , typename funcT > | |
CallbackPtr | PEARL_create_callback (classT *instance, funcT function) |
Library initialization | |
void | PEARL_init () |
void | PEARL_mpi_init () |
void | PEARL_omp_init () |
void | PEARL_hybrid_init () |
Call tree verification | |
void | PEARL_verify_calltree (GlobalDefs &defs, const LocalTrace &trace) |
void | PEARL_omp_verify_calltree (GlobalDefs &defs, const LocalTrace &trace) |
Call tree unification | |
void | PEARL_mpi_unify_calltree (GlobalDefs &defs) |
Trace preprocessing | |
void | PEARL_preprocess_trace (const GlobalDefs &defs, const LocalTrace &trace) |
void | PEARL_omp_preprocess_trace (const GlobalDefs &defs, const LocalTrace &trace) |
Replay functionality | |
void | PEARL_forward_replay (const LocalTrace &trace, const CallbackManager &cbmanager, CallbackData *data) |
void | PEARL_backward_replay (const LocalTrace &trace, const CallbackManager &cbmanager, CallbackData *data) |
Variables | |
const ident_t | PEARL_NO_ID = 0xFFFFFFFF |
Constant used to identify unused/unknown identifier fields. | |
const line_t | PEARL_NO_NUM = 0 |
Constant used to identify unused/unknown number fields. |
ostream & operator<< | ( | std::ostream & | stream, | |
const NamedObject & | item | |||
) |
Writes the numerical identifier and the name of the given NamedObject instance item to the output stream stream.
stream | Output stream | |
item | NamedObject instance |
ostream & operator<< | ( | std::ostream & | stream, | |
const Location & | item | |||
) |
Writes the location information stored for the given item consisting of the machine, node, process, and thread (including IDs and names) to the output stream stream.
stream | Output stream | |
item | Location instance |
ostream & operator<< | ( | std::ostream & | stream, | |
const IdObject & | item | |||
) |
void PEARL_hybrid_init | ( | ) |
Initializes the PEARL library and installs a custom out-of-memory handler. It is required to call one of the PEARL initialization functions before calling any other PEARL function or instantiating any PEARL class.
void PEARL_init | ( | ) |
Initializes the PEARL library and installs a custom out-of-memory handler. It is required to call one of the PEARL initialization functions before calling any other PEARL function or instantiating any PEARL class.
void PEARL_mpi_init | ( | ) |
Initializes the PEARL library and installs a custom out-of-memory handler. It is required to call one of the PEARL initialization functions before calling any other PEARL function or instantiating any PEARL class.
void PEARL_mpi_unify_calltree | ( | GlobalDefs & | defs | ) |
Combines process-local call trees into a global one. Since this is conceptually a sequential process, the actual unification is only carried out if the process-local call trees have been modified after reading the trace, i.e., the call tree provided by the global definitions object was incomplete. Therefore, this function should only be called after verifying the process-local call tree using PEARL_verify_calltree() or PEARL_omp_verify_calltree(), but before preprocessing the trace data via PEARL_preprocess_trace() or PEARL_omp_preprocess_trace().
defs | Global definitions object |
void PEARL_omp_init | ( | ) |
Initializes the PEARL library and installs a custom out-of-memory handler. It is required to call one of the PEARL initialization functions before calling any other PEARL function or instantiating any PEARL class.
void PEARL_omp_preprocess_trace | ( | const GlobalDefs & | defs, | |
const LocalTrace & | trace | |||
) |
Performs some local preprocessing of the given trace which is required to provide the full trace-access functionality. This has to be done as the last step in setting up the data structures, i.e., after calling PEARL_omp_verify_calltree() and PEARL_mpi_unify_calltree().
defs | Global definitions object | |
trace | Local trace data object |
void PEARL_omp_verify_calltree | ( | GlobalDefs & | defs, | |
const LocalTrace & | trace | |||
) |
Verifies whether the global call tree provided by the trace definition data defs is complete with respect to the local trace data. If not, the process-local call tree is extended accordingly. This has to be done before PEARL_omp_preprocess_trace() is called.
defs | Global definitions object | |
trace | Local trace data object |
void PEARL_preprocess_trace | ( | const GlobalDefs & | defs, | |
const LocalTrace & | trace | |||
) |
Performs some local preprocessing of the given trace which is required to provide the full trace-access functionality. This has to be done as the last step in setting up the data structures, i.e., after calling PEARL_verify_calltree() and PEARL_mpi_unify_calltree().
defs | Global definitions object | |
trace | Local trace data object |
void PEARL_verify_calltree | ( | GlobalDefs & | defs, | |
const LocalTrace & | trace | |||
) |
Verifies whether the global call tree provided by the trace definition data defs is complete with respect to the local trace data. If not, the process-local call tree is extended accordingly. This has to be done before PEARL_preprocess_trace() is called.
defs | Global definitions object | |
trace | Local trace data object |
![]() |
Copyright © 1998–2009 Forschungszentrum Jülich, Jülich Supercomputing Centre |