Go to the documentation of this file.
30 #ifndef __PASO_PERFORMANCE_H__
31 #define __PASO_PERFORMANCE_H__
39 #define PERFORMANCE_UNMONITORED_EVENT -1
40 #define PERFORMANCE_NUM_EVENTS 10 // maximum number of events handled by PAPI
42 #define PERFORMANCE_ALL 0
43 #define PERFORMANCE_SOLVER 1
44 #define PERFORMANCE_PRECONDITIONER_INIT 2
45 #define PERFORMANCE_PRECONDITIONER 3
46 #define PERFORMANCE_MVM 4
47 #define PERFORMANCE_ASSEMBLAGE 5
48 #define PERFORMANCE_UNKNOWN 6 // more can be added here
49 #define PERFORMANCE_NUM_MONITORS PERFORMANCE_UNKNOWN+1
51 #define PERFORMANCE_UNUSED -1
52 #define PERFORMANCE_CLOSED 0
53 #define PERFORMANCE_OPENED 1
82 #endif // __PASO_PERFORMANCE_H__
void mis(index_t *mis_marker) const
Searches for a maximal independent set MIS in the matrix pattern.
Definition: Pattern_mis.cpp:48
static dim_t N
Definition: SparseMatrix_saveHB.cpp:37
#define PASO_ONE
Definition: Paso.h:68
void Performance_startMonitor(Performance *pp, int monitor)
switches on a monitor
Definition: performance.cpp:163
Definition: AbstractReducer.h:31
#define IS_IN_MIS
Definition: Pattern_mis.cpp:45
dim_t deg
Definition: Pattern_reduceBandwidth.cpp:67
#define IS_CONNECTED_TO_MIS
Definition: Pattern_mis.cpp:46
#define MPI_SUM
Definition: EsysMPI.h:54
int comparDegreeAndIdx(const void *arg1, const void *arg2)
Definition: Pattern_reduceBandwidth.cpp:71
dim_t numInput
Definition: Pattern.h:135
dim_t numOutput
Definition: Pattern.h:133
int Performance_getEventIndex(Performance *pp, int event_id)
find the index of an event in the list of monitored events
Definition: performance.cpp:82
#define MATRIX_FORMAT_OFFSET1
Definition: Paso.h:64
boost::shared_ptr< SystemMatrix< T > > SystemMatrix_ptr
Definition: SystemMatrix.h:42
void Performance_close(Performance *pp, int verbose)
shuts down the monitoring process
Definition: performance.cpp:93
@ Breakdown
Definition: Paso.h:49
index_t dim_t
Definition: DataTypes.h:66
SolverResult
Definition: Paso.h:44
void reduceBandwidth(index_t *oldToNew)
Definition: Pattern_reduceBandwidth.cpp:144
@ MaxIterReached
Definition: Paso.h:46
SolverResult Solver_PCG(SystemMatrix_ptr< double > A, double *r, double *x, dim_t *iter, double *tolerance, Performance *pp)
Definition: PCG.cpp:62
index_t idx
Definition: Pattern_reduceBandwidth.cpp:68
index_t * index
Definition: Pattern.h:141
void Performance_open(Performance *pp, int verbose)
sets up the monitoring process
Definition: performance.cpp:36
#define TOLERANCE_FOR_SCALARS
Definition: Solver.h:29
#define MPI_DOUBLE
Definition: EsysMPI.h:49
PasoException exception class.
Definition: PasoException.h:34
int index_t
type for array/matrix indices used both globally and on each rank
Definition: DataTypes.h:61
void Performance_stopMonitor(Performance *pp, int monitor)
switches off a monitor
Definition: performance.cpp:182
#define IS_AVAILABLE
Definition: Pattern_mis.cpp:43
#define IS_IN_MIS_NOW
Definition: Pattern_mis.cpp:44
int type
Definition: Pattern.h:131
bool isAny(dim_t N, const index_t *array, index_t value)
returns true if array contains value
Definition: PasoUtil.cpp:30
Definition: BiCGStab.cpp:25
@ NoError
Definition: Paso.h:45
#define ESYS_ASSERT(a, b)
EsysAssert is a MACRO that will throw an exception if the boolean condition specified is false.
Definition: Assert.h:79
Definition: Pattern_reduceBandwidth.cpp:66
dim_t getBandwidth(index_t *label) const
Definition: Pattern_reduceBandwidth.cpp:42
bool dropTree(index_t root, const Pattern *pattern, index_t *AssignedLevel, index_t *VerticesInTree, dim_t *numLevels, index_t *firstVertexInLevel, dim_t max_LevelWidth_abort, dim_t N)
Definition: Pattern_reduceBandwidth.cpp:102
#define PASO_ZERO
Definition: Paso.h:69
index_t * ptr
Definition: Pattern.h:139
static double Pattern_mis_seed
Definition: Pattern_mis.cpp:41