Halide
Halide::Internal::ScheduleFeatures Struct Reference

#include <Featurization.h>

Public Member Functions

double & operator[] (int idx)
 
double operator[] (int idx) const
 
void dump (std::ostream &os) const
 
bool equal (const ScheduleFeatures &other) const
 
double & operator[] (int idx)
 
double operator[] (int idx) const
 
template<typename OS >
void dump (OS &os) const
 
void dump () const
 
bool equal (const ScheduleFeatures &other) const
 

Static Public Member Functions

static constexpr size_t num_features ()
 
static constexpr uint32_t version ()
 
static constexpr size_t num_features ()
 
static constexpr uint32_t version ()
 

Public Attributes

double num_realizations = 0
 
double num_productions = 0
 
double points_computed_per_realization = 0
 
double points_computed_per_production = 0
 
double points_computed_total = 0
 
double points_computed_minimum = 0
 
double innermost_loop_extent = 0
 
double innermost_pure_loop_extent = 0
 
double unrolled_loop_extent = 0
 
double inner_parallelism = 0
 
double outer_parallelism = 0
 
double bytes_at_realization = 0
 
double bytes_at_production = 0
 
double bytes_at_root = 0
 
double innermost_bytes_at_realization = 0
 
double innermost_bytes_at_production = 0
 
double innermost_bytes_at_root = 0
 
double inlined_calls = 0
 
double unique_bytes_read_per_realization = 0
 
double unique_lines_read_per_realization = 0
 
double allocation_bytes_read_per_realization = 0
 
double working_set = 0
 
double vector_size = 0
 
double native_vector_size = 0
 
double num_vectors = 0
 
double num_scalars = 0
 
double scalar_loads_per_vector = 0
 
double vector_loads_per_vector = 0
 
double scalar_loads_per_scalar = 0
 
double bytes_at_task = 0
 
double innermost_bytes_at_task = 0
 
double unique_bytes_read_per_vector = 0
 
double unique_lines_read_per_vector = 0
 
double unique_bytes_read_per_task = 0
 
double unique_lines_read_per_task = 0
 
double working_set_at_task = 0
 
double working_set_at_production = 0
 
double working_set_at_realization = 0
 
double working_set_at_root = 0
 
double points_computed_per_thread = 0
 
double unique_global_bytes_read_per_realization = 0
 
double unique_shared_bytes_read_per_realization = 0
 
double unique_register_bytes_read_per_realization = 0
 
double unique_global_lines_read_per_realization = 0
 
double unique_shared_lines_read_per_realization = 0
 
double unique_register_lines_read_per_realization = 0
 
double unique_global_bytes_read_per_thread = 0
 
double unique_shared_bytes_read_per_thread = 0
 
double unique_register_bytes_read_per_thread = 0
 
double unique_global_lines_read_per_thread = 0
 
double unique_shared_lines_read_per_thread = 0
 
double unique_register_lines_read_per_thread = 0
 
double global_allocation_bytes_read_per_realization = 0
 
double shared_allocation_bytes_read_per_realization = 0
 
double register_allocation_bytes_read_per_realization = 0
 
double global_bytes_at_task = 0
 
double shared_bytes_at_task = 0
 
double register_bytes_at_task = 0
 
double global_innermost_bytes_at_task = 0
 
double shared_innermost_bytes_at_task = 0
 
double register_innermost_bytes_at_task = 0
 
double unique_bytes_read_per_point = 0
 
double unique_lines_read_per_point = 0
 
double num_blocks = 1
 
double num_warps_per_block = 0
 
double block_occupancy = 1.0 / 1024.0
 
double warp_lane_utilization = 1.0 / 32.0
 
double num_active_warps_per_block = 0
 
double warp_lane_utilization_at_block_y = 1
 
double warp_lane_utilization_at_block_z = 1
 
double idle_lane_wastage = 0
 
double num_shared_mem_loads_per_block = 0
 
double num_global_mem_loads_per_block = 0
 
double num_shared_mem_stores_per_block = 0
 
double num_global_mem_stores_per_block = 0
 
double shared_mem_store_efficiency = 1
 
double shared_mem_load_efficiency = 1
 
double global_mem_store_efficiency = 1
 
double global_mem_load_efficiency = 1
 
double working_set_at_thread = 0
 
double shared_mem_occupancy = 0
 
double shared_mem_block_limit_factor = 1
 
double max_warp_occupancy = 0
 
double max_block_occupancy = 0
 
double num_threads_per_block = 0
 
double expr_branching = 0
 

Detailed Description

Definition at line 160 of file Featurization.h.

Member Function Documentation

◆ num_features() [1/2]

static constexpr size_t Halide::Internal::ScheduleFeatures::num_features ( )
inlinestaticconstexpr

Definition at line 161 of file Featurization.h.

Referenced by equal().

◆ version() [1/2]

static constexpr uint32_t Halide::Internal::ScheduleFeatures::version ( )
inlinestaticconstexpr

Definition at line 165 of file Featurization.h.

◆ operator[]() [1/4]

double& Halide::Internal::ScheduleFeatures::operator[] ( int  idx)
inline

Definition at line 169 of file Featurization.h.

◆ operator[]() [2/4]

double Halide::Internal::ScheduleFeatures::operator[] ( int  idx) const
inline

Definition at line 173 of file Featurization.h.

◆ dump() [1/3]

◆ equal() [1/2]

bool Halide::Internal::ScheduleFeatures::equal ( const ScheduleFeatures other) const
inline

Definition at line 352 of file Featurization.h.

References num_features().

◆ num_features() [2/2]

static constexpr size_t Halide::Internal::ScheduleFeatures::num_features ( )
inlinestaticconstexpr

Definition at line 168 of file Featurization.h.

◆ version() [2/2]

static constexpr uint32_t Halide::Internal::ScheduleFeatures::version ( )
inlinestaticconstexpr

Definition at line 172 of file Featurization.h.

◆ operator[]() [3/4]

double& Halide::Internal::ScheduleFeatures::operator[] ( int  idx)
inline

Definition at line 176 of file Featurization.h.

◆ operator[]() [4/4]

double Halide::Internal::ScheduleFeatures::operator[] ( int  idx) const
inline

Definition at line 180 of file Featurization.h.

◆ dump() [2/3]

template<typename OS >
void Halide::Internal::ScheduleFeatures::dump ( OS &  os) const
inline

Definition at line 348 of file Featurization.h.

References block_occupancy, bytes_at_production, bytes_at_realization, bytes_at_root, expr_branching, global_allocation_bytes_read_per_realization, global_bytes_at_task, global_innermost_bytes_at_task, global_mem_load_efficiency, global_mem_store_efficiency, idle_lane_wastage, inlined_calls, inner_parallelism, innermost_bytes_at_production, innermost_bytes_at_realization, innermost_bytes_at_root, innermost_loop_extent, innermost_pure_loop_extent, max_block_occupancy, max_warp_occupancy, num_active_warps_per_block, num_blocks, num_global_mem_loads_per_block, num_global_mem_stores_per_block, num_productions, num_realizations, num_scalars, num_shared_mem_loads_per_block, num_shared_mem_stores_per_block, num_threads_per_block, num_warps_per_block, outer_parallelism, points_computed_minimum, points_computed_per_production, points_computed_per_realization, points_computed_per_thread, points_computed_total, register_allocation_bytes_read_per_realization, register_bytes_at_task, register_innermost_bytes_at_task, shared_allocation_bytes_read_per_realization, shared_bytes_at_task, shared_innermost_bytes_at_task, shared_mem_block_limit_factor, shared_mem_load_efficiency, shared_mem_occupancy, shared_mem_store_efficiency, unique_bytes_read_per_point, unique_bytes_read_per_task, unique_global_bytes_read_per_realization, unique_global_bytes_read_per_thread, unique_global_lines_read_per_realization, unique_global_lines_read_per_thread, unique_lines_read_per_point, unique_lines_read_per_task, unique_register_bytes_read_per_realization, unique_register_bytes_read_per_thread, unique_register_lines_read_per_realization, unique_register_lines_read_per_thread, unique_shared_bytes_read_per_realization, unique_shared_bytes_read_per_thread, unique_shared_lines_read_per_realization, unique_shared_lines_read_per_thread, unrolled_loop_extent, warp_lane_utilization, warp_lane_utilization_at_block_y, warp_lane_utilization_at_block_z, working_set, working_set_at_production, working_set_at_realization, working_set_at_root, working_set_at_task, and working_set_at_thread.

◆ dump() [3/3]

void Halide::Internal::ScheduleFeatures::dump ( ) const
inline

Definition at line 424 of file Featurization.h.

◆ equal() [2/2]

bool Halide::Internal::ScheduleFeatures::equal ( const ScheduleFeatures other) const
inline

Definition at line 429 of file Featurization.h.

References num_features().

Member Data Documentation

◆ num_realizations

double Halide::Internal::ScheduleFeatures::num_realizations = 0

Definition at line 179 of file Featurization.h.

Referenced by dump().

◆ num_productions

double Halide::Internal::ScheduleFeatures::num_productions = 0

Definition at line 184 of file Featurization.h.

Referenced by dump().

◆ points_computed_per_realization

double Halide::Internal::ScheduleFeatures::points_computed_per_realization = 0

Definition at line 187 of file Featurization.h.

Referenced by dump().

◆ points_computed_per_production

double Halide::Internal::ScheduleFeatures::points_computed_per_production = 0

Definition at line 190 of file Featurization.h.

Referenced by dump().

◆ points_computed_total

double Halide::Internal::ScheduleFeatures::points_computed_total = 0

Definition at line 197 of file Featurization.h.

Referenced by dump().

◆ points_computed_minimum

double Halide::Internal::ScheduleFeatures::points_computed_minimum = 0

Definition at line 203 of file Featurization.h.

Referenced by dump().

◆ innermost_loop_extent

double Halide::Internal::ScheduleFeatures::innermost_loop_extent = 0

Definition at line 206 of file Featurization.h.

Referenced by dump().

◆ innermost_pure_loop_extent

double Halide::Internal::ScheduleFeatures::innermost_pure_loop_extent = 0

Definition at line 210 of file Featurization.h.

Referenced by dump().

◆ unrolled_loop_extent

double Halide::Internal::ScheduleFeatures::unrolled_loop_extent = 0

Definition at line 214 of file Featurization.h.

Referenced by dump().

◆ inner_parallelism

double Halide::Internal::ScheduleFeatures::inner_parallelism = 0

Definition at line 219 of file Featurization.h.

Referenced by dump().

◆ outer_parallelism

double Halide::Internal::ScheduleFeatures::outer_parallelism = 0

Definition at line 224 of file Featurization.h.

Referenced by dump().

◆ bytes_at_realization

double Halide::Internal::ScheduleFeatures::bytes_at_realization = 0

Definition at line 228 of file Featurization.h.

Referenced by dump().

◆ bytes_at_production

double Halide::Internal::ScheduleFeatures::bytes_at_production = 0

Definition at line 233 of file Featurization.h.

Referenced by dump().

◆ bytes_at_root

double Halide::Internal::ScheduleFeatures::bytes_at_root = 0

Definition at line 238 of file Featurization.h.

Referenced by dump().

◆ innermost_bytes_at_realization

double Halide::Internal::ScheduleFeatures::innermost_bytes_at_realization = 0

Definition at line 243 of file Featurization.h.

Referenced by dump().

◆ innermost_bytes_at_production

double Halide::Internal::ScheduleFeatures::innermost_bytes_at_production = 0

Definition at line 244 of file Featurization.h.

Referenced by dump().

◆ innermost_bytes_at_root

double Halide::Internal::ScheduleFeatures::innermost_bytes_at_root = 0

Definition at line 245 of file Featurization.h.

Referenced by dump().

◆ inlined_calls

double Halide::Internal::ScheduleFeatures::inlined_calls = 0

Definition at line 248 of file Featurization.h.

Referenced by dump().

◆ unique_bytes_read_per_realization

double Halide::Internal::ScheduleFeatures::unique_bytes_read_per_realization = 0

Definition at line 253 of file Featurization.h.

Referenced by dump().

◆ unique_lines_read_per_realization

double Halide::Internal::ScheduleFeatures::unique_lines_read_per_realization = 0

Definition at line 254 of file Featurization.h.

Referenced by dump().

◆ allocation_bytes_read_per_realization

double Halide::Internal::ScheduleFeatures::allocation_bytes_read_per_realization = 0

Definition at line 258 of file Featurization.h.

Referenced by dump().

◆ working_set

double Halide::Internal::ScheduleFeatures::working_set = 0

Definition at line 263 of file Featurization.h.

Referenced by dump().

◆ vector_size

double Halide::Internal::ScheduleFeatures::vector_size = 0

Definition at line 268 of file Featurization.h.

Referenced by dump().

◆ native_vector_size

double Halide::Internal::ScheduleFeatures::native_vector_size = 0

Definition at line 272 of file Featurization.h.

Referenced by dump().

◆ num_vectors

double Halide::Internal::ScheduleFeatures::num_vectors = 0

Definition at line 275 of file Featurization.h.

Referenced by dump().

◆ num_scalars

double Halide::Internal::ScheduleFeatures::num_scalars = 0

Definition at line 278 of file Featurization.h.

Referenced by dump().

◆ scalar_loads_per_vector

double Halide::Internal::ScheduleFeatures::scalar_loads_per_vector = 0

Definition at line 284 of file Featurization.h.

Referenced by dump().

◆ vector_loads_per_vector

double Halide::Internal::ScheduleFeatures::vector_loads_per_vector = 0

Definition at line 285 of file Featurization.h.

Referenced by dump().

◆ scalar_loads_per_scalar

double Halide::Internal::ScheduleFeatures::scalar_loads_per_scalar = 0

Definition at line 286 of file Featurization.h.

Referenced by dump().

◆ bytes_at_task

double Halide::Internal::ScheduleFeatures::bytes_at_task = 0

Definition at line 291 of file Featurization.h.

Referenced by dump().

◆ innermost_bytes_at_task

double Halide::Internal::ScheduleFeatures::innermost_bytes_at_task = 0

Definition at line 292 of file Featurization.h.

Referenced by dump().

◆ unique_bytes_read_per_vector

double Halide::Internal::ScheduleFeatures::unique_bytes_read_per_vector = 0

Definition at line 295 of file Featurization.h.

Referenced by dump().

◆ unique_lines_read_per_vector

double Halide::Internal::ScheduleFeatures::unique_lines_read_per_vector = 0

Definition at line 296 of file Featurization.h.

Referenced by dump().

◆ unique_bytes_read_per_task

double Halide::Internal::ScheduleFeatures::unique_bytes_read_per_task = 0

Definition at line 301 of file Featurization.h.

Referenced by dump().

◆ unique_lines_read_per_task

double Halide::Internal::ScheduleFeatures::unique_lines_read_per_task = 0

Definition at line 302 of file Featurization.h.

Referenced by dump().

◆ working_set_at_task

double Halide::Internal::ScheduleFeatures::working_set_at_task = 0

Definition at line 305 of file Featurization.h.

Referenced by dump().

◆ working_set_at_production

double Halide::Internal::ScheduleFeatures::working_set_at_production = 0

Definition at line 306 of file Featurization.h.

Referenced by dump().

◆ working_set_at_realization

double Halide::Internal::ScheduleFeatures::working_set_at_realization = 0

Definition at line 307 of file Featurization.h.

Referenced by dump().

◆ working_set_at_root

double Halide::Internal::ScheduleFeatures::working_set_at_root = 0

Definition at line 308 of file Featurization.h.

Referenced by dump().

◆ points_computed_per_thread

double Halide::Internal::ScheduleFeatures::points_computed_per_thread = 0

Definition at line 199 of file Featurization.h.

Referenced by dump().

◆ unique_global_bytes_read_per_realization

double Halide::Internal::ScheduleFeatures::unique_global_bytes_read_per_realization = 0

Definition at line 262 of file Featurization.h.

Referenced by dump().

◆ unique_shared_bytes_read_per_realization

double Halide::Internal::ScheduleFeatures::unique_shared_bytes_read_per_realization = 0

Definition at line 263 of file Featurization.h.

Referenced by dump().

◆ unique_register_bytes_read_per_realization

double Halide::Internal::ScheduleFeatures::unique_register_bytes_read_per_realization = 0

Definition at line 264 of file Featurization.h.

Referenced by dump().

◆ unique_global_lines_read_per_realization

double Halide::Internal::ScheduleFeatures::unique_global_lines_read_per_realization = 0

Definition at line 265 of file Featurization.h.

Referenced by dump().

◆ unique_shared_lines_read_per_realization

double Halide::Internal::ScheduleFeatures::unique_shared_lines_read_per_realization = 0

Definition at line 266 of file Featurization.h.

Referenced by dump().

◆ unique_register_lines_read_per_realization

double Halide::Internal::ScheduleFeatures::unique_register_lines_read_per_realization = 0

Definition at line 267 of file Featurization.h.

Referenced by dump().

◆ unique_global_bytes_read_per_thread

double Halide::Internal::ScheduleFeatures::unique_global_bytes_read_per_thread = 0

Definition at line 269 of file Featurization.h.

Referenced by dump().

◆ unique_shared_bytes_read_per_thread

double Halide::Internal::ScheduleFeatures::unique_shared_bytes_read_per_thread = 0

Definition at line 270 of file Featurization.h.

Referenced by dump().

◆ unique_register_bytes_read_per_thread

double Halide::Internal::ScheduleFeatures::unique_register_bytes_read_per_thread = 0

Definition at line 271 of file Featurization.h.

Referenced by dump().

◆ unique_global_lines_read_per_thread

double Halide::Internal::ScheduleFeatures::unique_global_lines_read_per_thread = 0

Definition at line 272 of file Featurization.h.

Referenced by dump().

◆ unique_shared_lines_read_per_thread

double Halide::Internal::ScheduleFeatures::unique_shared_lines_read_per_thread = 0

Definition at line 273 of file Featurization.h.

Referenced by dump().

◆ unique_register_lines_read_per_thread

double Halide::Internal::ScheduleFeatures::unique_register_lines_read_per_thread = 0

Definition at line 274 of file Featurization.h.

Referenced by dump().

◆ global_allocation_bytes_read_per_realization

double Halide::Internal::ScheduleFeatures::global_allocation_bytes_read_per_realization = 0

Definition at line 278 of file Featurization.h.

Referenced by dump().

◆ shared_allocation_bytes_read_per_realization

double Halide::Internal::ScheduleFeatures::shared_allocation_bytes_read_per_realization = 0

Definition at line 279 of file Featurization.h.

Referenced by dump().

◆ register_allocation_bytes_read_per_realization

double Halide::Internal::ScheduleFeatures::register_allocation_bytes_read_per_realization = 0

Definition at line 280 of file Featurization.h.

Referenced by dump().

◆ global_bytes_at_task

double Halide::Internal::ScheduleFeatures::global_bytes_at_task = 0

Definition at line 293 of file Featurization.h.

Referenced by dump().

◆ shared_bytes_at_task

double Halide::Internal::ScheduleFeatures::shared_bytes_at_task = 0

Definition at line 294 of file Featurization.h.

Referenced by dump().

◆ register_bytes_at_task

double Halide::Internal::ScheduleFeatures::register_bytes_at_task = 0

Definition at line 295 of file Featurization.h.

Referenced by dump().

◆ global_innermost_bytes_at_task

double Halide::Internal::ScheduleFeatures::global_innermost_bytes_at_task = 0

Definition at line 296 of file Featurization.h.

Referenced by dump().

◆ shared_innermost_bytes_at_task

double Halide::Internal::ScheduleFeatures::shared_innermost_bytes_at_task = 0

Definition at line 297 of file Featurization.h.

Referenced by dump().

◆ register_innermost_bytes_at_task

double Halide::Internal::ScheduleFeatures::register_innermost_bytes_at_task = 0

Definition at line 298 of file Featurization.h.

Referenced by dump().

◆ unique_bytes_read_per_point

double Halide::Internal::ScheduleFeatures::unique_bytes_read_per_point = 0

Definition at line 301 of file Featurization.h.

Referenced by dump().

◆ unique_lines_read_per_point

double Halide::Internal::ScheduleFeatures::unique_lines_read_per_point = 0

Definition at line 302 of file Featurization.h.

Referenced by dump().

◆ num_blocks

double Halide::Internal::ScheduleFeatures::num_blocks = 1

Definition at line 316 of file Featurization.h.

Referenced by dump().

◆ num_warps_per_block

double Halide::Internal::ScheduleFeatures::num_warps_per_block = 0

Definition at line 317 of file Featurization.h.

Referenced by dump().

◆ block_occupancy

double Halide::Internal::ScheduleFeatures::block_occupancy = 1.0 / 1024.0

Definition at line 318 of file Featurization.h.

Referenced by dump().

◆ warp_lane_utilization

double Halide::Internal::ScheduleFeatures::warp_lane_utilization = 1.0 / 32.0

Definition at line 320 of file Featurization.h.

Referenced by dump().

◆ num_active_warps_per_block

double Halide::Internal::ScheduleFeatures::num_active_warps_per_block = 0

Definition at line 321 of file Featurization.h.

Referenced by dump().

◆ warp_lane_utilization_at_block_y

double Halide::Internal::ScheduleFeatures::warp_lane_utilization_at_block_y = 1

Definition at line 322 of file Featurization.h.

Referenced by dump().

◆ warp_lane_utilization_at_block_z

double Halide::Internal::ScheduleFeatures::warp_lane_utilization_at_block_z = 1

Definition at line 323 of file Featurization.h.

Referenced by dump().

◆ idle_lane_wastage

double Halide::Internal::ScheduleFeatures::idle_lane_wastage = 0

Definition at line 324 of file Featurization.h.

Referenced by dump().

◆ num_shared_mem_loads_per_block

double Halide::Internal::ScheduleFeatures::num_shared_mem_loads_per_block = 0

Definition at line 326 of file Featurization.h.

Referenced by dump().

◆ num_global_mem_loads_per_block

double Halide::Internal::ScheduleFeatures::num_global_mem_loads_per_block = 0

Definition at line 327 of file Featurization.h.

Referenced by dump().

◆ num_shared_mem_stores_per_block

double Halide::Internal::ScheduleFeatures::num_shared_mem_stores_per_block = 0

Definition at line 328 of file Featurization.h.

Referenced by dump().

◆ num_global_mem_stores_per_block

double Halide::Internal::ScheduleFeatures::num_global_mem_stores_per_block = 0

Definition at line 329 of file Featurization.h.

Referenced by dump().

◆ shared_mem_store_efficiency

double Halide::Internal::ScheduleFeatures::shared_mem_store_efficiency = 1

Definition at line 331 of file Featurization.h.

Referenced by dump().

◆ shared_mem_load_efficiency

double Halide::Internal::ScheduleFeatures::shared_mem_load_efficiency = 1

Definition at line 332 of file Featurization.h.

Referenced by dump().

◆ global_mem_store_efficiency

double Halide::Internal::ScheduleFeatures::global_mem_store_efficiency = 1

Definition at line 334 of file Featurization.h.

Referenced by dump().

◆ global_mem_load_efficiency

double Halide::Internal::ScheduleFeatures::global_mem_load_efficiency = 1

Definition at line 335 of file Featurization.h.

Referenced by dump().

◆ working_set_at_thread

double Halide::Internal::ScheduleFeatures::working_set_at_thread = 0

Definition at line 337 of file Featurization.h.

Referenced by dump().

◆ shared_mem_occupancy

double Halide::Internal::ScheduleFeatures::shared_mem_occupancy = 0

Definition at line 339 of file Featurization.h.

Referenced by dump().

◆ shared_mem_block_limit_factor

double Halide::Internal::ScheduleFeatures::shared_mem_block_limit_factor = 1

Definition at line 340 of file Featurization.h.

Referenced by dump().

◆ max_warp_occupancy

double Halide::Internal::ScheduleFeatures::max_warp_occupancy = 0

Definition at line 341 of file Featurization.h.

Referenced by dump().

◆ max_block_occupancy

double Halide::Internal::ScheduleFeatures::max_block_occupancy = 0

Definition at line 342 of file Featurization.h.

Referenced by dump().

◆ num_threads_per_block

double Halide::Internal::ScheduleFeatures::num_threads_per_block = 0

Definition at line 344 of file Featurization.h.

Referenced by dump().

◆ expr_branching

double Halide::Internal::ScheduleFeatures::expr_branching = 0

Definition at line 345 of file Featurization.h.

Referenced by dump().


The documentation for this struct was generated from the following file: