PEARL.base

Paradigm-independent part of the PEARL library. More...


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< T >
 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...

Files

file  Buffer.h
 Declaration of the class Buffer.
file  Callsite.h
 Declaration of the class Callsite.
file  Cartesian.h
 Declaration of the class Cartesian.
file  CNode.h
 Declaration of the class CNode.
file  CountedPtr.h
 Declaration of the class CountedPtr.
file  Error.h
 Declaration of the exception classes Error, RuntimeError, and FatalError.
file  Event_rep.h
 Declaration of the class Event_rep.
file  GlobalDefs.h
 Declaration of the class GlobalDefs.
file  Group.h
 Declaration of the class Group.
file  IdObject.h
 Declaration of the class IdObject and related functions.
file  Event.h
 Declaration of the class Event.
file  LocalTrace.h
 Declaration of the class LocalTrace.
file  Location.h
 Declaration of the class Location and related functions.
file  Machine.h
 Declaration of the class Machine.
file  Metric.h
 Declaration of the class Metric.
file  NamedObject.h
 Declaration of the class NamedObject and related functions.
file  Node.h
 Declaration of the class Node.
file  pearl.h
 Declarations of global library functions.
file  pearl_types.h
 Definition of data types and constants.
file  Process.h
 Declaration of the class Process.
file  Region.h
 Declaration of the class Region.
file  RemoteEvent.h
 Declaration of the class RemoteEvent.
file  RmaWindow.h
 Declaration of the class RmaWindow.
file  SmallObject.h
 Declaration of the class SmallObject.
file  Thread.h
 Declaration of the class Thread.
file  Topology.h
 Declaration of the class Topology.


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).

  ...
  // Initialize PEARL
  PEARL_init();

  // Load global definitions & trace data
  GlobalDefs defs(archive_name);
  LocalTrace trace(archive_name, 0);

  // Preprocessing
  PEARL_verify_calltree(defs, trace);
  PEARL_preprocess_trace(defs, trace);
  ...

Note that all of the aforementioned function calls except PEARL_init() throw exceptions in case of errors.


SCALASCA    Copyright © 1998–2009 Forschungszentrum Jülich, Jülich Supercomputing Centre