Class for using the PerformanceEvaluation in a timeloop.
Providing a measurement interval, this class will regularly (every interval time steps) measure and report the LBM performance. At the end of the simulation logOverallResults() may be called to output minimum, maximum and average performance during the simulation run.
#include <PerformanceLogger.h>
Public Member Functions | |
PerformanceLogger (const shared_ptr< StructuredBlockStorage > &blocks, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &fluid, const uint_t interval, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) | |
PerformanceLogger (const shared_ptr< StructuredBlockStorage > &blocks, const ConstBlockDataID &flagFieldId, const Set< FlagUID > &fluid, const timeloop::ITimeloop *const timeloop, const uint_t interval, const Set< SUID > &requiredSelectors=Set< SUID >::emptySet(), const Set< SUID > &incompatibleSelectors=Set< SUID >::emptySet()) | |
void | operator() () |
void | logOverallResultsOnRoot () const |
void | enableRefreshCellCountOnCall () |
void | disableRefreshCellCountOnCall () |
void | getBestResultsForSQLOnRoot (std::map< std::string, int > &integerProperties, std::map< std::string, double > &realProperties, std::map< std::string, std::string > &stringProperties) |
Private Types | |
enum | Mode { MIN, MAX, AVG, LAST } |
Private Member Functions | |
double | getTiming (Mode mode) const |
Private Attributes | |
PerformanceEvaluation< FlagField_T > | performanceEvaluation_ |
uint_t | interval_ |
uint_t | timestep_ |
WcTimer | timer_ |
bool | refreshCellCountOnCall_ |
const timeloop::ITimeloop * | timeloop_ |
|
private |
walberla::lbm::PerformanceLogger< FlagField_T >::PerformanceLogger | ( | const shared_ptr< StructuredBlockStorage > & | blocks, |
const ConstBlockDataID & | flagFieldId, | ||
const Set< FlagUID > & | fluid, | ||
const uint_t | interval, | ||
const Set< SUID > & | requiredSelectors = Set<SUID>::emptySet() , |
||
const Set< SUID > & | incompatibleSelectors = Set<SUID>::emptySet() |
||
) |
walberla::lbm::PerformanceLogger< FlagField_T >::PerformanceLogger | ( | const shared_ptr< StructuredBlockStorage > & | blocks, |
const ConstBlockDataID & | flagFieldId, | ||
const Set< FlagUID > & | fluid, | ||
const timeloop::ITimeloop *const | timeloop, | ||
const uint_t | interval, | ||
const Set< SUID > & | requiredSelectors = Set<SUID>::emptySet() , |
||
const Set< SUID > & | incompatibleSelectors = Set<SUID>::emptySet() |
||
) |
|
inline |
|
inline |
void walberla::lbm::PerformanceLogger< FlagField_T >::getBestResultsForSQLOnRoot | ( | std::map< std::string, int > & | integerProperties, |
std::map< std::string, double > & | realProperties, | ||
std::map< std::string, std::string > & | stringProperties | ||
) |
|
private |
void walberla::lbm::PerformanceLogger< FlagField_T >::logOverallResultsOnRoot |
void walberla::lbm::PerformanceLogger< FlagField_T >::operator() |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |