![]() |
PEARL
Parallel Event Access and Replay Library
|
Paradigm-independent part of the PEARL library. More...
Classes | |
class | pearl::TraceArchive |
Abstract representation of a trace experiment archive. More... | |
class | pearl::AmHandler |
Base class for active message handlers. More... | |
class | pearl::AmListener |
Base class for listener objects. More... | |
class | pearl::AmListenerFactory |
Listener factory for active message listeners. More... | |
class | pearl::AmRequest |
Base class for active message requests. More... | |
class | pearl::AmRequestFactory |
Request factory for active message request. More... | |
class | pearl::Buffer |
Generic memory buffer implementation. More... | |
class | pearl::Callpath |
Representation of a callpath definition. More... | |
class | pearl::Callsite |
Representation of a callsite definition. More... | |
class | pearl::Cartesian |
Stores information related to cartesian grid topologies. More... | |
class | pearl::Communicator |
Representation of a communicator definition. More... | |
class | pearl::CountedPtr< T > |
Non-intrusive reference-counted smart pointer. More... | |
class | pearl::Enter_rep |
Event representation for entering a source code region. More... | |
class | pearl::EnterCS_rep |
Event representation for entering a call site. More... | |
class | pearl::Error |
Base class for exceptions related to the PEARL library. More... | |
class | pearl::RuntimeError |
Exception class related to the PEARL library for recoverable errors. More... | |
class | pearl::FatalError |
Exception class related to the PEARL library for unrecoverable errors. More... | |
class | pearl::MemoryError |
Exception class related to the PEARL library that is used to signal out of memory situations. More... | |
class | pearl::Event |
Generic representation for local events with iterator functionality. More... | |
struct | pearl::EventKeyCompare |
Provides a comparison operator that allows Event objects to be as key in std::map or std::set. More... | |
class | pearl::Event_rep |
Base class for all event representations. More... | |
class | pearl::GlobalDefs |
Stores the global definitions of a tracing experiment. More... | |
class | pearl::Leave_rep |
Event representation for leaving a source code region. More... | |
class | pearl::LocalTrace |
Container class for local event traces. More... | |
class | pearl::Location |
Representation of a location definition. More... | |
class | pearl::LocationGroup |
Interface of location group definition representations. More... | |
class | pearl::Metric |
Stores information related to additional performance metrics. More... | |
class | pearl::MpiAmListener |
Listener using the communicator of an MpiWindow object. More... | |
class | pearl::MpiAmRequest |
Active message request using an MpiMessage buffer. More... | |
class | pearl::ProcessGroup |
Defines a group of processes by means of global process identifiers. More... | |
class | pearl::Region |
Representation of a region definition. More... | |
class | pearl::RemoteEvent |
Generic representation for remote events without iterator functionality. More... | |
class | pearl::RemoteTimeSegment |
Auxiliary class to ease comparision between remote time segments. More... | |
class | pearl::RmaGetStart_rep |
Event representation for RMA_GET_START events. More... | |
class | pearl::RmaPutEnd_rep |
Event representation for RMA_PUT_END events. More... | |
class | pearl::RmaPutStart_rep |
Event representation for RMA_PUT_START events. More... | |
class | pearl::RmaWindow |
Base class for remote memory access windows. More... | |
class | pearl::SmallObject |
Provides a base class for small objects using a custom memory management. More... | |
class | pearl::String |
Representation of a string definition. More... | |
class | pearl::SystemNode |
Representation of a system node definition. More... | |
class | pearl::TimeSegment |
Auxiliary class to ease comparision between time segments. More... | |
class | pearl::Topology |
Base class for virtual topologies. More... | |
Files | |
file | AmHandler.h |
Declaration of the class AmHandler. | |
file | AmListener.h |
Declaration of the class AmListener. | |
file | AmListenerFactory.h |
Declaration of the class AmListenerFactory. | |
file | AmRequest.h |
Declaration of the class AmRequest. | |
file | AmRequestFactory.h |
Declaration of the class AmRequestFactory. | |
file | AmRuntime.h |
Declaration of the class AmRuntime. | |
file | Buffer.h |
Declaration of the class Buffer. | |
file | Callpath.h |
Declaration of the class Callpath. | |
file | Callsite.h |
Declaration of the class Callsite. | |
file | Cartesian.h |
Declaration of the class Cartesian. | |
file | Communicator.h |
Declaration of the class Communicator. | |
file | CountedPtr.h |
Declaration of the class CountedPtr. | |
file | Enter_rep.h |
Declaration of the class Enter_rep. | |
file | EnterCS_rep.h |
Declaration of the class EnterCS_rep. | |
file | Error.h |
Declaration of the exception classes Error, RuntimeError, and FatalError. | |
file | Event.h |
Declaration of the class Event. | |
file | Event_rep.h |
Declaration of the class Event_rep. | |
file | GlobalDefs.h |
Declaration of the class GlobalDefs. | |
file | Leave_rep.h |
Declaration of the class Leave_rep. | |
file | LocalTrace.h |
Declaration of the class LocalTrace. | |
file | Location.h |
Declaration of the class Location. | |
file | LocationGroup.h |
Declaration of the class LocationGroup. | |
file | Metric.h |
Declaration of the class Metric. | |
file | MpiAmListener.h |
Declaration of the class MpiAmListener. | |
file | AmRequest.h |
Declaration of the class AmRequest. | |
file | pearl.h |
Declarations of global library functions. | |
file | pearl_padding.h |
Definition of a compiler-/platform-specific preprocessor macro to avoid padding in structures. | |
file | pearl_types.h |
Definition of data types and constants. | |
file | ProcessGroup.h |
Declaration of the class ProcessGroup. | |
file | Region.h |
Declaration of the class Region. | |
file | RemoteEvent.h |
Declaration of the class RemoteEvent. | |
file | RemoteTimeSegment.h |
Declaration of the class RemoteTimeSegment. | |
file | RmaGetEnd_rep.h |
Declaration of the class RmaGetEnd_rep. | |
file | RmaGetStart_rep.h |
Declaration of the class RmaGetStart_rep. | |
file | RmaPutEnd_rep.h |
Declaration of the class RmaPutEnd_rep. | |
file | RmaPutStart_rep.h |
Declaration of the class RmaPutStart_rep. | |
file | RmaWindow.h |
Declaration of the class RmaWindow. | |
file | SmallObject.h |
Declaration of the class SmallObject. | |
file | String.h |
Declaration of the class String. | |
file | SystemNode.h |
Declaration of the class SystemNode. | |
file | TimeSegment.h |
Declaration of the class TimeSegment. | |
file | Topology.h |
Declaration of the class Topology. | |
file | TraceArchive.h |
Declaration of the class TraceArchive. |
This part of the PEARL library provides all functions and classes that are independent of a parallelization paradigm. This includes the entire functionality to handle traces of serial applications.
The following code snippet shows the basic steps required to load and set up the PEARL data structures to handle seriel traces (for information on how to handle pure OpenMP, pure MPI or hybrid OpenMP/MPI traces, see the PEARL.omp, PEARL.mpi, and PEARL.hybrid parts of PEARL).
using namespace pearl; ... // Initialize PEARL PEARL_init(); // Open trace archive TraceArchive* archive = TraceArchive::open(archive_name); // Load global definitions GlobalDefs* defs = archive->getDefinitions(); // Open trace container const LocationGroup& process = defs->getLocationGroup(0); archive->openTraceContainer(process); // Load trace data const Location& location = process.getLocation(0); LocalTrace* trace = archive->getTrace(*defs, location); // Close trace container & archive archive->closeTraceContainer(); delete archive; // Preprocessing PEARL_verify_calltree(*defs, *trace); PEARL_preprocess_trace(*defs, *trace); ... // Free trace & definition data delete trace; delete defs; // Finalize PEARL PEARL_finalize();
Note that all of the aforementioned function calls except PEARL_init() throw exceptions in case of errors.
![]() |
Copyright © 1998–2014 Forschungszentrum Jülich GmbH,
Jülich Supercomputing Centre
Copyright © 2009–2014 German Research School for Simulation Sciences GmbH, Laboratory for Parallel Programming |