Optimized Belief Propagation (CPU and GPU)
|
Class to store timings of one or more segments taken during the run(s) of an implementation or across multiple implementations.
Index for timing segments must be enum type.
More...
#include <DetailedTimings.h>
Public Member Functions | |
DetailedTimings (const std::unordered_map< T, std::string_view > &timing_segment_names) | |
Construct a new DetailedTimings object where each timing segment is initialized. More... | |
void | ResetTiming () |
Reset all timings. More... | |
void | AddToCurrentTimings (const DetailedTimings &in_detailed_timings) |
Add instance of DetailedTimings to current DetailedTimings. More... | |
void | AddTiming (const T timing_segment, const std::chrono::duration< double > &segment_time) |
Add timing by segment index. More... | |
std::chrono::duration< double > | MedianTiming (const T run_segment_index) const |
Get median timing for a specified segment that may have been run multiple times. More... | |
RunData | AsRunData () const |
Return current timing data as a RunData object for evaluation. More... | |
Class to store timings of one or more segments taken during the run(s) of an implementation or across multiple implementations.
Index for timing segments must be enum type.
T |
Definition at line 51 of file DetailedTimings.h.
|
explicit |
Construct a new DetailedTimings object where each timing segment is initialized.
timing_segment_names |
Definition at line 111 of file DetailedTimings.h.
|
inline |
Add timing by segment index.
timing_segment | |
segment_time |
Definition at line 80 of file DetailedTimings.h.
requires std::is_enum_v< T > void DetailedTimings< T >::AddToCurrentTimings | ( | const DetailedTimings< T > & | in_detailed_timings | ) |
Add instance of DetailedTimings to current DetailedTimings.
in_detailed_timings |
Definition at line 127 of file DetailedTimings.h.
requires std::is_enum_v< T > RunData DetailedTimings< T >::AsRunData |
Return current timing data as a RunData object for evaluation.
Definition at line 170 of file DetailedTimings.h.
requires std::is_enum_v< T > std::chrono::duration< double > DetailedTimings< T >::MedianTiming | ( | const T | run_segment_index | ) | const |
Get median timing for a specified segment that may have been run multiple times.
run_segment_index |
Definition at line 150 of file DetailedTimings.h.
|
inline |
Reset all timings.
Definition at line 65 of file DetailedTimings.h.