13 namespace Autoscheduler {
15 using Clock = std::chrono::high_resolution_clock;
33 std::chrono::time_point<Clock>
start;
37 :
start{Clock::now()},
39 aslog(1) <<
"Start: " <<
msg <<
"\n";
43 auto duration = Clock::now() -
start;
44 auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
45 aslog(1) <<
"Duration (ms): " <<
msg <<
" = " << ms <<
"\n";
50 std::chrono::time_point<Clock>
start;
53 :
start{Clock::now()} {
60 std::chrono::duration<double>
elapsed()
const {
61 return Clock::now() -
start;
103 return std::chrono::duration_cast<std::chrono::milliseconds>(
feature_write_time).count();
111 return std::chrono::duration_cast<std::chrono::milliseconds>(
featurization_time).count();
119 return std::chrono::duration_cast<std::chrono::milliseconds>(
enqueue_time).count();
135 #endif // STATISTICS_H
double average_cost_model_evaluation_time() const
std::chrono::duration< double > calculate_cost_time
int num_memoization_misses
std::chrono::high_resolution_clock Clock
double total_enqueue_time() const
std::chrono::duration< double > enqueue_time
std::chrono::time_point< Clock > start
std::chrono::time_point< Clock > start
std::chrono::duration< double > generate_children_time
This file defines the class FunctionDAG, which is our representation of a Halide pipeline, and contains methods to using Halide's bounds tools to query properties of it.
double total_cost_model_evaluation_time() const
std::chrono::duration< double > feature_write_time
std::chrono::duration< double > filter_parallel_tiles_time
int num_block_memoization_hits
std::chrono::duration< double > compute_in_tiles_time
std::chrono::duration< double > elapsed() const
ScopedTimer(const std::string &msg)
double total_filter_thread_tiles_time() const
Not visible externally, similar to 'static' linkage in C.
std::chrono::duration< double > filter_thread_tiles_time
double total_generate_children_time() const
std::chrono::duration< double > cost_model_evaluation_time
std::chrono::duration< double > featurization_time
double total_calculate_cost_time() const
double average_featurization_time() const
double total_featurization_time() const
double total_filter_parallel_tiles_time() const
int num_block_memoization_misses
int num_tilings_generated
double total_feature_write_time() const
ScopedStatistic(const T &value, const std::string &msg)
double total_compute_in_tiles_time() const
int num_schedules_enqueued
int num_memoized_featurizations