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];
347 template<
typename OS>
431 for (
size_t i = 0; i < n_features; i++) {
432 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
static constexpr uint32_t version()
int pointwise_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
int & operator[](int idx)
int broadcast_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
static constexpr size_t num_features()
int op_histogram[(int) OpType::NumOpTypes][(int) ScalarType::NumScalarTypes]
int transpose_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
int types_in_use[(int) ScalarType::NumScalarTypes]
int operator[](int idx) const
int slice_accesses[(int) AccessType::NumAccessTypes][(int) ScalarType::NumScalarTypes]
double warp_lane_utilization_at_block_z
double working_set_at_production
double global_allocation_bytes_read_per_realization
bool equal(const ScheduleFeatures &other) const
double num_global_mem_loads_per_block
double innermost_loop_extent
double points_computed_per_thread
double num_shared_mem_loads_per_block
double working_set_at_thread
double unique_global_bytes_read_per_realization
double points_computed_total
double points_computed_per_realization
double global_bytes_at_task
double unique_shared_bytes_read_per_thread
double innermost_bytes_at_root
double global_mem_store_efficiency
double unique_global_bytes_read_per_thread
double unique_bytes_read_per_point
double num_threads_per_block
double unique_register_lines_read_per_thread
double innermost_bytes_at_realization
double operator[](int idx) const
double working_set_at_realization
double shared_bytes_at_task
double bytes_at_production
double working_set_at_task
double unique_register_lines_read_per_realization
static constexpr uint32_t version()
double num_global_mem_stores_per_block
double innermost_pure_loop_extent
double unique_bytes_read_per_task
double max_block_occupancy
static constexpr size_t num_features()
double shared_allocation_bytes_read_per_realization
double global_innermost_bytes_at_task
double global_mem_load_efficiency
double shared_innermost_bytes_at_task
double num_warps_per_block
double unique_register_bytes_read_per_realization
double register_innermost_bytes_at_task
double warp_lane_utilization_at_block_y
double shared_mem_occupancy
double unique_shared_lines_read_per_thread
double innermost_bytes_at_production
double unique_lines_read_per_point
double shared_mem_load_efficiency
double unique_shared_bytes_read_per_realization
double shared_mem_block_limit_factor
double max_warp_occupancy
double & operator[](int idx)
double points_computed_minimum
double working_set_at_root
double warp_lane_utilization
double unique_global_lines_read_per_realization
double points_computed_per_production
double unique_lines_read_per_task
double register_bytes_at_task
double unrolled_loop_extent
double num_shared_mem_stores_per_block
double bytes_at_realization
double unique_register_bytes_read_per_thread
double unique_global_lines_read_per_thread
double shared_mem_store_efficiency
double unique_shared_lines_read_per_realization
double num_active_warps_per_block
double register_allocation_bytes_read_per_realization