1 #ifndef FEATURIZATION_H 2 #define FEATURIZATION_H 24 return ((
int *)(
this))[idx];
28 return ((
const int *)(
this))[idx];
100 void dump(std::ostream &os)
const {
102 const char *type_names[] = {
"Bool",
"UInt8",
"UInt16",
"UInt32",
"UInt64",
"Float",
"Double"};
108 os <<
" Featurization for type " << type_names[i] <<
"\n" 109 <<
" Op histogram:\n" 134 <<
" Memory access patterns. Columns are calls to other Funcs, self-calls, input image access, and stores\n" 170 return ((
double *)(
this))[idx];
174 return ((
const double *)(
this))[idx];
310 void dump(std::ostream &os)
const {
354 for (
size_t i = 0; i < n_features; i++) {
355 if ((*
this)[i] != other[i]) {
double innermost_loop_extent
double vector_loads_per_vector
int transpose_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
double unrolled_loop_extent
double unique_lines_read_per_vector
double bytes_at_production
double points_computed_minimum
double innermost_bytes_at_task
double operator[](int idx) const
int slice_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
double & operator[](int idx)
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 innermost_bytes_at_root
double allocation_bytes_read_per_realization
int types_in_use[(int) ScalarType::NumScalarTypes]
double innermost_bytes_at_production
double scalar_loads_per_scalar
void dump(std::ostream &os) const
bool equal(const ScheduleFeatures &other) const
double points_computed_total
int op_histogram[(int) OpType::NumOpTypes][(int) ScalarType::NumScalarTypes]
double points_computed_per_realization
double unique_lines_read_per_realization
double scalar_loads_per_vector
double working_set_at_realization
int operator[](int idx) const
double working_set_at_root
int broadcast_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
double unique_bytes_read_per_realization
double innermost_bytes_at_realization
double unique_bytes_read_per_task
double bytes_at_realization
unsigned __INT32_TYPE__ uint32_t
double working_set_at_production
static constexpr size_t num_features()
static constexpr uint32_t version()
Not visible externally, similar to 'static' linkage in C.
static constexpr uint32_t version()
int & operator[](int idx)
int pointwise_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
double unique_bytes_read_per_vector
static constexpr size_t num_features()
double native_vector_size
double innermost_pure_loop_extent
double points_computed_per_production
double working_set_at_task
double unique_lines_read_per_task
void dump(std::ostream &os) const