1 #ifndef FEATURIZATION_H
2 #define FEATURIZATION_H
26 return ((
int *)(
this))[idx];
30 return ((
const int *)(
this))[idx];
102 template<
typename OS>
105 const char *type_names[] = {
"Bool",
"UInt8",
"UInt16",
"UInt32",
"UInt64",
"Float",
"Double"};
111 os <<
" Featurization for type " << type_names[i] <<
"\n"
112 <<
" Op histogram:\n"
137 <<
" Memory access patterns. Columns are calls to other Funcs, self-calls, input image access, and stores\n"
177 return ((
double *)(
this))[idx];
181 return ((
const double *)(
this))[idx];
317 template<
typename OS>
366 for (
size_t i = 0; i < n_features; i++) {
367 if ((*
this)[i] != other[i]) {
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
unsigned __INT32_TYPE__ uint32_t
int broadcast_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
int op_histogram[(int) OpType::NumOpTypes][(int) ScalarType::NumScalarTypes]
int pointwise_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
static constexpr uint32_t version()
static constexpr size_t num_features()
int types_in_use[(int) ScalarType::NumScalarTypes]
int operator[](int idx) const
int transpose_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
int slice_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
int & operator[](int idx)
double working_set_at_production
bool equal(const ScheduleFeatures &other) const
double & operator[](int idx)
double innermost_loop_extent
double unique_bytes_read_per_vector
double points_computed_total
double points_computed_per_realization
double innermost_bytes_at_root
double innermost_bytes_at_realization
double operator[](int idx) const
double working_set_at_realization
double bytes_at_production
double native_vector_size
double working_set_at_task
static constexpr uint32_t version()
double scalar_loads_per_vector
double innermost_pure_loop_extent
double vector_loads_per_vector
double unique_bytes_read_per_task
static constexpr size_t num_features()
double unique_bytes_read_per_realization
double innermost_bytes_at_task
double innermost_bytes_at_production
double allocation_bytes_read_per_realization
double points_computed_minimum
double unique_lines_read_per_realization
double working_set_at_root
double unique_lines_read_per_vector
double points_computed_per_production
double unique_lines_read_per_task
double unrolled_loop_extent
double bytes_at_realization
double scalar_loads_per_scalar