PPL Logo

controlPointManager Class Reference
[Automatic Performance Tuning and Steering Framework]

#include <controlPoints.h>

Inheritance diagram for controlPointManager:

Inheritance graph
[legend]
Collaboration diagram for controlPointManager:

Collaboration graph
[legend]

Public Member Functions

 controlPointManager ()
 ~controlPointManager ()
void pup (PUP::er &p)
 controlPointManager (CkMigrateMessage *m)
void loadDataFile ()
 Loads the previous run data file.
void writeDataFile ()
 Add the current data to allData and output it to a file.
void setCPCallback (CkCallback cb, bool _frameworkShouldAdvancePhase)
 User can register a callback that is called when application should advance to next phase.
void setFrameworkAdvancePhase (bool _frameworkShouldAdvancePhase)
 A user can specify that the framework should advance the phases automatically. Useful for gather performance measurements without modifying a program.
void processControlPoints ()
 Called periodically by the runtime to handle the control points Currently called on each PE.
bool controlPointAffectsThisEP (int ep)
 Determine if any control point is known to affect an entry method.
bool controlPointAffectsThisArray (int array)
 Determine if any control point is known to affect a chare array.
void generatePlan ()
 Generate a plan (new control point values) once per phase.
instrumentedPhasecurrentPhaseData ()
 The data for the current phase.
instrumentedPhasepreviousPhaseData ()
 The data from the previous phase.
instrumentedPhasetwoAgoPhaseData ()
 The data from two phases back.
void gotoNextPhase ()
 Called by either the application or the Control Point Framework to advance to the next phase.
void setTiming (double time)
 An application uses this to register an instrumented timing for this phase.
void checkForShutdown ()
 Check to see if we are in the shutdown process, and handle it appropriately.
void exitIfReady ()
 Start shutdown procedures for the controlPoints module(s).
void doExitNow ()
 All outstanding operations have completed, so do the shutdown now. First write files to disk, and then call CkExit().
void writeOutputToDisk ()
 Write data to disk (when needed), likely at exit.
void requestMemoryUsage (CkCallback cb)
 Entry method called on all PEs to request memory usage.
void gatherMemoryUsage (CkReductionMsg *msg)
 All processors reduce their memory usages to this method.
void requestIdleTime (CkCallback cb)
 Entry method called on all PEs to request memory usage.
void gatherIdleTime (CkReductionMsg *msg)
 All processors reduce their memory usages in requestIdleTime() to this method.
void requestAll (CkCallback cb)
 Entry method called on all PEs to request Idle, Overhead, and Memory measurements.
void gatherAll (CkReductionMsg *msg)
 All processors reduce their memory usages in requestIdleTime() to this method.

Data Fields

instrumentedData allData
std::map< std::string,
std::pair< int, int > > 
controlPointSpace
 The lower and upper bounds for each named control point.
std::set< std::string > staticControlPoints
 A set of named control points whose values cannot change within a single run of an application.
std::map< std::string,
std::set< int > > 
affectsPrioritiesEP
std::map< std::string,
std::set< int > > 
affectsPrioritiesArray
std::map< std::string, intnewControlPoints
 The control points to be used in the next phase. In gotoNextPhase(), these will be used.
int generatedPlanForStep
simplexScheme s
CkCallback controlPointChangeCallback
 A user supplied callback to call when control point values are to be changed.
bool haveControlPointChangeCallback
bool frameworkShouldAdvancePhase
int phase_id
bool alreadyRequestedMemoryUsage
bool alreadyRequestedIdleTime
bool alreadyRequestedAll
bool exitWhenReady

Detailed Description

Definition at line 699 of file controlPoints.h.


Constructor & Destructor Documentation

controlPointManager::controlPointManager ( CkMigrateMessage m  )  [inline]

Definition at line 743 of file controlPoints.h.


Field Documentation

std::map<std::string, std::pair<int,int> > controlPointManager::controlPointSpace

The lower and upper bounds for each named control point.

Definition at line 705 of file controlPoints.h.

Referenced by controlPoint(), generatePlan(), and processControlPoints().

A set of named control points whose values cannot change within a single run of an application.

Definition at line 708 of file controlPoints.h.

std::map<std::string, std::set<int> > controlPointManager::affectsPrioritiesEP

Deprecated:
Sets of entry point ids that are affected by some named control points

Definition at line 711 of file controlPoints.h.

Referenced by controlPointAffectsThisEP(), and processControlPoints().

std::map<std::string, std::set<int> > controlPointManager::affectsPrioritiesArray

Deprecated:
Sets of entry array ids that are affected by some named control points

Definition at line 713 of file controlPoints.h.

Referenced by controlPointAffectsThisArray().

The control points to be used in the next phase. In gotoNextPhase(), these will be used.

Definition at line 717 of file controlPoints.h.

Referenced by generatePlan(), and processControlPoints().

Definition at line 718 of file controlPoints.h.

Referenced by controlPointManager(), generatePlan(), and pup().

A user supplied callback to call when control point values are to be changed.

Definition at line 724 of file controlPoints.h.

Referenced by processControlPoints(), and setCPCallback().

Definition at line 725 of file controlPoints.h.

Referenced by controlPointManager(), processControlPoints(), pup(), and setCPCallback().

Definition at line 734 of file controlPoints.h.

Referenced by checkForShutdown(), controlPointManager(), exitIfReady(), and pup().


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:22:11 2020 for Charm++ by  doxygen 1.5.5