#include <Sacado_ScalarFlopCounter.hpp>
Public Types | |
| NUM_OPS = 34 | |
| ASSIGN | |
| PLUS | |
| PLUS_ASSIGN | |
| UNARY_PLUS | |
| MINUS | |
| MINUS_ASSIGN | |
| UNARY_MINUS | |
| MULTIPLY | |
| MULTIPLY_ASSIGN | |
| DIVIDE | |
| DIVIDE_ASSIGN | |
| GREATER_THAN | |
| GREATER_THAN_EQUAL | |
| LESS_THAN | |
| LESS_THAN_EQUAL | |
| EQUAL | |
| EXP | |
| LOG | |
| LOG10 | |
| SQRT | |
| COS | |
| SIN | |
| TAN | |
| ACOS | |
| ASIN | |
| ATAN | |
| ATAN2 | |
| COSH | |
| SINH | |
| TANH | |
| ABS | |
| POW | |
| MAX | |
| MIN | |
| NUM_SUMMARY_OPS = 6 | |
| SUMMARY_ASSIGN | |
| SUMMARY_PLUS_MINUS | |
| SUMMARY_MULTIPLY | |
| SUMMARY_DIVIDE | |
| SUMMARY_COMPARISON | |
| SUMMARY_NONLINEAR | |
| enum | { NUM_OPS = 34 } |
| Number of total operation supported up till now. More... | |
| enum | EFlopType { ASSIGN, PLUS, PLUS_ASSIGN, UNARY_PLUS, MINUS, MINUS_ASSIGN, UNARY_MINUS, MULTIPLY, MULTIPLY_ASSIGN, DIVIDE, DIVIDE_ASSIGN, GREATER_THAN, GREATER_THAN_EQUAL, LESS_THAN, LESS_THAN_EQUAL, EQUAL, EXP, LOG, LOG10, SQRT, COS, SIN, TAN, ACOS, ASIN, ATAN, ATAN2, COSH, SINH, TANH, ABS, POW, MAX, MIN } |
| Enum for operations. More... | |
| enum | { NUM_SUMMARY_OPS = 6 } |
| Number of summary operation categories. More... | |
| enum | ESummaryFlopType { SUMMARY_ASSIGN, SUMMARY_PLUS_MINUS, SUMMARY_MULTIPLY, SUMMARY_DIVIDE, SUMMARY_COMPARISON, SUMMARY_NONLINEAR } |
| Enum of summary operation categories. More... | |
Public Member Functions | |
| FlopCounts () | |
| Default constructor. | |
| void | reset () |
| Reset flop counters before starting a block of computations. */. | |
| void | finalize () |
| void | increment (EFlopType ft) |
| Increment an individual flop counter. | |
Public Attributes | |
| double | flopCounts [NUM_OPS] |
| Individual flop counts. | |
| double | summaryFlopCounts [NUM_SUMMARY_OPS] |
| Summary category flop counts. | |
| double | totalFlopCount |
| Total flop count. | |
Static Public Attributes | |
| static const char * | flopCountsNames [NUM_OPS] |
| Names of individual flops. | |
| static const char * | summaryFlopCountsNames [NUM_SUMMARY_OPS] |
| Names for summary operation categories. | |
| static unsigned int | flopGranularity = 100000000 |
| The number of flops to accumulate as an integer before converting to a double. | |
Private Member Functions | |
| ESummaryFlopType | getSummaryType (EFlopType ft) |
| Get summary op enum from op enum. | |
Private Attributes | |
| unsigned int | partialFlopCounts [NUM_OPS] |
| Partial sum of individual flop counts. | |
| unsigned int | partialSummaryFlopCounts [NUM_SUMMARY_OPS] |
| Partial sum of summary category flop counts. | |
Definition at line 45 of file Sacado_ScalarFlopCounter.hpp.
| anonymous enum |
Number of total operation supported up till now.
Definition at line 49 of file Sacado_ScalarFlopCounter.hpp.
Enum for operations.
Definition at line 52 of file Sacado_ScalarFlopCounter.hpp.
| anonymous enum |
Enum of summary operation categories.
| SUMMARY_ASSIGN | |
| SUMMARY_PLUS_MINUS | |
| SUMMARY_MULTIPLY | |
| SUMMARY_DIVIDE | |
| SUMMARY_COMPARISON | |
| SUMMARY_NONLINEAR |
Definition at line 93 of file Sacado_ScalarFlopCounter.hpp.
| Sacado::FlopCounterPack::FlopCounts::FlopCounts | ( | ) |
| void Sacado::FlopCounterPack::FlopCounts::reset | ( | ) |
Reset flop counters before starting a block of computations. */.
Definition at line 97 of file Sacado_ScalarFlopCounter.cpp.
| void Sacado::FlopCounterPack::FlopCounts::finalize | ( | ) |
Definition at line 108 of file Sacado_ScalarFlopCounter.cpp.
| void Sacado::FlopCounterPack::FlopCounts::increment | ( | EFlopType | ft | ) |
| Sacado::FlopCounterPack::FlopCounts::ESummaryFlopType Sacado::FlopCounterPack::FlopCounts::getSummaryType | ( | EFlopType | ft | ) | [private] |
const char * Sacado::FlopCounterPack::FlopCounts::flopCountsNames [static] |
const char * Sacado::FlopCounterPack::FlopCounts::summaryFlopCountsNames [static] |
Initial value:
{
"="
,"all +-"
,"all *"
,"all /"
,"<,>,=="
,"nonlinear"
}
Definition at line 106 of file Sacado_ScalarFlopCounter.hpp.
unsigned int Sacado::FlopCounterPack::FlopCounts::flopGranularity = 100000000 [static] |
The number of flops to accumulate as an integer before converting to a double.
The default value is 100 000 000 and must be less than UINT_MAX-1. Increasing this value may give somewhat better precision for the flop count when counting very large numbers of flops.
Definition at line 117 of file Sacado_ScalarFlopCounter.hpp.
| double Sacado::FlopCounterPack::FlopCounts::flopCounts[NUM_OPS] |
| double Sacado::FlopCounterPack::FlopCounts::summaryFlopCounts[NUM_SUMMARY_OPS] |
unsigned int Sacado::FlopCounterPack::FlopCounts::partialFlopCounts[NUM_OPS] [private] |
unsigned int Sacado::FlopCounterPack::FlopCounts::partialSummaryFlopCounts[NUM_SUMMARY_OPS] [private] |
Partial sum of summary category flop counts.
Definition at line 149 of file Sacado_ScalarFlopCounter.hpp.
1.4.7