PEARL
Parallel Event Access and Replay Library
Classes | Files
PEARL.base

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.



Detailed Description

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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Scalasca    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