PPL Logo

ck-cp/controlPoints.C File Reference

Go to the source code of this file.

Data Structures

class  controlPointMain
 A mainchare that is used just to create our controlPointManager group at startup. More...

Typedefs

typedef enum tuningSchemeEnum tuningScheme

Enumerations

enum  tuningSchemeEnum {
  RandomSelection, SimulatedAnnealing, ExhaustiveSearch, CriticalPathAutoPrioritization,
  UseBestKnownTiming, UseSteering, MemoryAware, Simplex,
  DivideAndConquer, AlwaysDefaults, LDBPeriod, LDBPeriodLinear,
  LDBPeriodQuadratic, LDBPeriodOptimal
}

Functions

double closestInRange (double v, double a, double b)
static void periodicProcessControlPoints (void *ptr, double currWallTime)
 Called periodically to allow control point framework to do things periodically.
void printTuningScheme ()
CkReductionMsgidleTimeReduction (int nMsg, CkReductionMsg **msgs)
 A reducer that combines idle time measurements (min/sum/max etc.).
CkReductionMsgallMeasuresReduction (int nMsg, CkReductionMsg **msgs)
void registerCPReductions (void)
 Registers the control point framework's reduction handlers at startup on each PE.
unsigned int randInt (unsigned int num, const char *name, int seed=0)
 Return an integer between 0 and num-1 inclusive If different seed, name, and random_seed values are provided, the returned values are pseudo-random.
void gotoNextPhase ()
 An interface callable by the application.
FLINKAGE void FTN_NAME (GOTONEXTPHASE, gotonextphase)()
void registerCPChangeCallback (CkCallback cb, bool frameworkShouldAdvancePhase)
 An interface callable by the application.
void setFrameworkAdvancePhase (bool frameworkShouldAdvancePhase)
 An interface callable by the application.
void registerControlPointTiming (double time)
 An interface callable by the application.
void controlPointTimingStamp ()
 An interface callable by the application.
FLINKAGE void FTN_NAME (CONTROLPOINTTIMINGSTAMP, controlpointtimingstamp)()
FLINKAGE void FTN_NAME (SETFRAMEWORKADVANCEPHASEF, setframeworkadvancephasef)
void controlPointShutdown ()
 Shutdown the control point framework, writing data to disk if necessary.
void controlPointInitNode ()
 A function called at startup on each node to register controlPointShutdown() to be called at CkExit().
int controlPoint (const char *name, int lb, int ub)
 Get control point value from range of integers [lb,ub].
FLINKAGE int FTN_NAME (CONTROLPOINT, controlpoint)(CMK_TYPEDEF_INT4 *lb
 A fortran callable one.
void ControlPointWriteOutputToDisk ()
 Write output data to disk. Callable from user program (for example, to periodically flush to disk if program might run out of time, or NAMD).

Variables

CProxy_controlPointManager controlPointManagerProxy
int random_seed
long controlPointSamplePeriod
int whichTuningScheme
bool writeDataFileAtShutdown
bool shouldFilterOutputData
bool loadDataFileAtStartup
bool shouldGatherMemoryUsage
bool shouldGatherUtilization
bool shouldGatherAll
char CPDataFilename [512]
bool enableCPTracing
std::map< std::string, intdefaultControlPointValues
 The control point values to be used for the first few phases if the strategy doesn't choose to do something else.
CkReduction::reducerType idleTimeReductionType
 A reduction type that combines idle time measurements (min/sum/max etc.).
CkReduction::reducerType allMeasuresReductionType
 A reduction type that combines idle, overhead, and memory measurements.


Function Documentation

double closestInRange ( double  v,
double  a,
double  b 
) [inline]

Definition at line 23 of file controlPoints.C.

Referenced by controlPointManager::generatePlan().

Here is the caller graph for this function:


Generated on Mon Sep 21 07:59:14 2020 for Charm++ by  doxygen 1.5.5