Halide 22.0.0 Halide compiler and libraries

Halide::Internal::Autoscheduler::LoopNest Member List

This is the complete list of members for Halide::Internal::Autoscheduler::LoopNest, including all inherited members.

accesses_input_buffer() const | Halide::Internal::Autoscheduler::LoopNest |
accesses_input_buffer() const | Halide::Internal::Autoscheduler::LoopNest |
add_gpu_thread_tilings(const FunctionDAG::Node *f, const Anderson2021Params &params, const Target &target, int v, vector< IntrusivePtr< const LoopNest > > &result, const vector< int64_t > &max_size) | Halide::Internal::Autoscheduler::LoopNest |
all_paths_to_leaves_have_thread_loop() const | Halide::Internal::Autoscheduler::LoopNest |
all_strides_exist(const LoadJacobian &jac, const FunctionDAG::Node *storage_node, const LoopNest &root) const | Halide::Internal::Autoscheduler::LoopNest |
apply(LoopLevel here, StageMap< std::unique_ptr< StageScheduleState > > &state_map, double num_cores, int depth, const LoopNest *parent, const LoopNest *compute_site) const | Halide::Internal::Autoscheduler::LoopNest |
apply(LoopLevel here, StageMap< std::unique_ptr< StageScheduleState > > &state_map, double num_cores, int depth, const LoopNest *parent, const LoopNest *compute_site, const Target &target, std::vector< StageScheduleState * > &ancestors, const NodeMap< bool > &all_inlined) const | Halide::Internal::Autoscheduler::LoopNest |
bounds | Halide::Internal::Autoscheduler::LoopNest | mutable
calls(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
calls(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
can_vectorize_access_for_innermost_dim(const LoadJacobian &jac, const FunctionDAG::Node *accessed, int innermost_dim, int loop_index) const | Halide::Internal::Autoscheduler::LoopNest |
can_vectorize_store_access(const LoadJacobian &jac, const FunctionDAG::Node *accessed, bool accessed_has_been_scheduled, int innermost_dim, int loop_index, const GPUMemoryType &mem_type) const | Halide::Internal::Autoscheduler::LoopNest |
children | Halide::Internal::Autoscheduler::LoopNest |
children | Halide::Internal::Autoscheduler::LoopNest |
collect_all_inlined(NodeMap< bool > &all_inlined) const | Halide::Internal::Autoscheduler::LoopNest |
collect_nodes_that_should_be_inlined(const NodeMap< bool > &nodes_to_freeze, NodeMap< bool > &inlined_nodes) const | Halide::Internal::Autoscheduler::LoopNest |
collect_producers(const StageMap< Sites > &sites) const | Halide::Internal::Autoscheduler::LoopNest |
collect_producers(const StageMap< Sites > &sites) const | Halide::Internal::Autoscheduler::LoopNest |
collect_stages(std::set< const FunctionDAG::Node::Stage * > &stages) const | Halide::Internal::Autoscheduler::LoopNest |
collect_stages(std::set< const FunctionDAG::Node::Stage * > &stages) const | Halide::Internal::Autoscheduler::LoopNest |
compute_alloc_size_of_node_here(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
compute_features(const FunctionDAG &dag, const Adams2019Params &params, const StageMap< Sites > &sites, int64_t instances, int64_t parallelism, const LoopNest *parent, const LoopNest *grandparent, const LoopNest &root, int64_t *working_set, StageMap< ScheduleFeatures > *features, bool use_cached_features) const | Halide::Internal::Autoscheduler::LoopNest |
compute_features(const FunctionDAG &dag, const Anderson2021Params &params, const Target &target, const StageMap< Sites > &sites, int64_t instances, int64_t parallelism, const LoopNest *parent, const LoopNest *grandparent, const LoopNest &root, GPULoopInfo gpu_loop_info, bool use_memoized_features, const StageMap< int64_t > &total_shared_mem_alloc_sizes, int64_t *working_set, int64_t *working_set_local_constant, int64_t *working_set_local_dynamic, StageMap< ScheduleFeatures > *features, Statistics &stats, bool verbose=false) const | Halide::Internal::Autoscheduler::LoopNest |
compute_gpu_store_features(const LoadJacobian &jac, int consumer_innermost_dim, const FunctionDAG::Node *node, const Bound &consumer_store_bounds, const GPULoopInfo &gpu_loop_info, const std::vector< int64_t > &inner_serial_loop_extents, const Sites &consumer_site, ScheduleFeatures &feat, const LoopNest *parent, const LoopNest &root, GlobalMemInfo &global_mem_loads, SharedMemInfo &shared_mem_loads, LocalMemInfo &local_mem_loads, bool verbose=false) const | Halide::Internal::Autoscheduler::LoopNest |
compute_hash_of_producers_stored_at_root(const StageMap< Sites > &sites) const | Halide::Internal::Autoscheduler::LoopNest |
compute_hash_of_producers_stored_at_root(const StageMap< Sites > &sites) const | Halide::Internal::Autoscheduler::LoopNest |
compute_here(const FunctionDAG::Node *f, bool tileable, int v, const Adams2019Params &params) | Halide::Internal::Autoscheduler::LoopNest |
compute_here(const FunctionDAG::Node *f, bool tileable, int v, bool in_threads_loop, const Anderson2021Params &params, const Target &target) | Halide::Internal::Autoscheduler::LoopNest |
compute_in_tiles(const FunctionDAG::Node *f, const LoopNest *parent, const Adams2019Params &params, int v, bool in_realization) const | Halide::Internal::Autoscheduler::LoopNest |
compute_in_tiles(const FunctionDAG::Node *f, const LoopNest *parent, const Anderson2021Params &params, const Target &target, const SearchSpaceOptions &search_space_options, int v, bool in_realization, bool in_threads_loop, bool is_pre_pass, vector< int64_t > union_counts=vector< int64_t >()) const | Halide::Internal::Autoscheduler::LoopNest |
compute_licm_amortization(const LoopNest *innermost, const LoopNest *parent, const ScheduleFeatures &feat, const LoadJacobian &jac, int producer_dims) const | Halide::Internal::Autoscheduler::LoopNest |
compute_local_mem_store_features(const LoadJacobian &jac, int consumer_innermost_dim, const FunctionDAG::Node *node, const Bound &consumer_store_bounds, const LoopNest &root, double serial_loop_extents) const | Halide::Internal::Autoscheduler::LoopNest |
compute_local_mem_stride(double stride, double bytes) const | Halide::Internal::Autoscheduler::LoopNest |
compute_mem_load_features(const LoadJacobian &jac, int producer_innermost_dim, const FunctionDAG::Node *node, const Bound &producer_store_bounds, bool producer_has_been_scheduled, const ThreadInfo *thread_info, MemInfoType< T > &mem_info, double serial_loop_extents, bool verbose=false) const | Halide::Internal::Autoscheduler::LoopNest |
compute_mem_store_info(const LoadJacobian &jac, int consumer_innermost_dim, const FunctionDAG::Node *node, const Bound &consumer_store_bounds, const ThreadInfo *thread_info, double serial_loop_extents, bool verbose) const | Halide::Internal::Autoscheduler::LoopNest |
compute_num_mem_accesses_per_block(const LoadJacobian &jac, const FunctionDAG::Node *node, const Bound &store_bounds, const ThreadInfo *thread_info, int innermost_dim, double num_requests_per_warp, MemInfoType< T > &mem_info, bool verbose=false) const | Halide::Internal::Autoscheduler::LoopNest |
compute_shared_mem_occupancy(const Anderson2021Params &params, const Target &target, int64_t total_shared_mem_alloc_size, ScheduleFeatures &feat) const | Halide::Internal::Autoscheduler::LoopNest |
compute_strides(const LoadJacobian &jac, int innermost_storage_dim, const FunctionDAG::Node *storage_node, const Bound &store_bounds, const ThreadInfo *thread_info, bool verbose=false) const | Halide::Internal::Autoscheduler::LoopNest |
compute_warp_and_block_occupancy(const Anderson2021Params &params, ScheduleFeatures &feat, const GPULoopInfo &gpu_loop_info) const | Halide::Internal::Autoscheduler::LoopNest |
compute_warp_features(ScheduleFeatures &features, const GPULoopInfo &gpu_loop_info) const | Halide::Internal::Autoscheduler::LoopNest |
compute_working_set_from_features(int64_t *working_set, const StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest |
compute_working_set_from_features(int64_t *working_set, const StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest |
computes(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
computes(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
copy_from(const LoopNest &n) | Halide::Internal::Autoscheduler::LoopNest |
copy_from(const LoopNest &n) | Halide::Internal::Autoscheduler::LoopNest |
copy_from_including_features(const LoopNest &n) | Halide::Internal::Autoscheduler::LoopNest |
copy_from_including_features(const LoopNest &n) | Halide::Internal::Autoscheduler::LoopNest |
dump(std::ostream &os, string prefix, const LoopNest *parent) const | Halide::Internal::Autoscheduler::LoopNest |
dump() const | Halide::Internal::Autoscheduler::LoopNest |
dump(T &stream, string prefix, const LoopNest *parent) const | Halide::Internal::Autoscheduler::LoopNest |
exceeds_serial_extents_limit(const Target &target, const LoopNest *parent, bool in_threads_loop) const | Halide::Internal::Autoscheduler::LoopNest |
feature_intermediates | Halide::Internal::Autoscheduler::LoopNest | mutable
feature_intermediates_cache | Halide::Internal::Autoscheduler::LoopNest | mutable
features | Halide::Internal::Autoscheduler::LoopNest | mutable
features_cache | Halide::Internal::Autoscheduler::LoopNest | mutable
find_innermost_and_parent() const | Halide::Internal::Autoscheduler::LoopNest |
find_pure_stage_loop_nest(const FunctionDAG::Node *node) const | Halide::Internal::Autoscheduler::LoopNest |
funcs_realized_or_inlined() const | Halide::Internal::Autoscheduler::LoopNest | inline
funcs_realized_or_inlined() const | Halide::Internal::Autoscheduler::LoopNest | inline
generate_vec_dim_serial_tilings(vector< int > &serial_sizes) const | Halide::Internal::Autoscheduler::LoopNest |
get_actual_vector_dim(const Bound &store_bounds) const | Halide::Internal::Autoscheduler::LoopNest |
get_allocs_that_can_be_promoted_to_registers(const Target &target, StageMap< Sites > &sites, NodeMap< bool > &can_be_promoted_to_registers, const LoopNest *grandparent, const LoopNest *parent) const | Halide::Internal::Autoscheduler::LoopNest |
get_block_and_serial_extents(const LoopNest *block) const | Halide::Internal::Autoscheduler::LoopNest |
get_bounds(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
get_bounds(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
get_bounds_along_edge_chain(const FunctionDAG::Node *f, const vector< const FunctionDAG::Edge * > &edge_chain) const | Halide::Internal::Autoscheduler::LoopNest |
get_enclosing_block(const LoopNest *parent, const LoopNest *grandparent) const | Halide::Internal::Autoscheduler::LoopNest |
get_gpu_memory_type(bool in_block, bool in_thread, bool is_inlined=false) const | Halide::Internal::Autoscheduler::LoopNest |
get_pure_stage_vectorized_loop_index(const FunctionDAG::Node *node) const | Halide::Internal::Autoscheduler::LoopNest |
get_sites(StageMap< Sites > &sites, const LoopNest *task=nullptr, const LoopNest *parent=nullptr) const | Halide::Internal::Autoscheduler::LoopNest |
get_sites(const Target &target, StageMap< Sites > &sites, StageMap< int64_t > &shared_mem_alloc_sizes, const LoopNest *task=nullptr, const LoopNest *parent=nullptr, const LoopNest *current_thread_loop=nullptr) const | Halide::Internal::Autoscheduler::LoopNest |
get_stage_sizes(const FunctionDAG::Node *f, vector< vector< int64_t > > &stage_sizes, vector< vector< int > > &pure_dims, vector< int > &vectorized_indices) const | Halide::Internal::Autoscheduler::LoopNest |
get_stages_computed_in_each_compute_root_loop(StageMap< StageMap< bool > > &descendants, const LoopNest *compute_root_loop_nest=nullptr) const | Halide::Internal::Autoscheduler::LoopNest |
get_total_constant_local_mem_alloc_size() const | Halide::Internal::Autoscheduler::LoopNest |
get_total_local_mem_alloc_size(bool constant_allocs_only=false, bool in_threads_loop=false) const | Halide::Internal::Autoscheduler::LoopNest |
get_union_thread_counts(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
get_vectorized_loop_index_from_pure_stage(const LoopNest &root) const | Halide::Internal::Autoscheduler::LoopNest |
gpu_label | Halide::Internal::Autoscheduler::LoopNest | mutable
has_constant_region_computed(const FunctionDAG::Node *node) const | Halide::Internal::Autoscheduler::LoopNest |
has_constant_region_required(const FunctionDAG::Node *node) const | Halide::Internal::Autoscheduler::LoopNest |
has_dynamic_allocation_inside_thread(bool in_thread_loop) const | Halide::Internal::Autoscheduler::LoopNest |
has_thread_loop_descendant() const | Halide::Internal::Autoscheduler::LoopNest |
has_valid_thread_extents() const | Halide::Internal::Autoscheduler::LoopNest |
hash_combine(uint64_t &h, uint64_t next) | Halide::Internal::Autoscheduler::LoopNest | inlinestatic
hash_combine(uint64_t &h, uint64_t next) | Halide::Internal::Autoscheduler::LoopNest | inlinestatic
inline_func(const FunctionDAG::Node *f) | Halide::Internal::Autoscheduler::LoopNest |
inline_func(const FunctionDAG::Node *f) | Halide::Internal::Autoscheduler::LoopNest |
inlined | Halide::Internal::Autoscheduler::LoopNest |
innermost | Halide::Internal::Autoscheduler::LoopNest |
is_gpu_block(const Target &target) const | Halide::Internal::Autoscheduler::LoopNest | inline
is_gpu_serial(const Target &target) const | Halide::Internal::Autoscheduler::LoopNest | inline
is_gpu_thread(const Target &target) const | Halide::Internal::Autoscheduler::LoopNest | inline
is_root() const | Halide::Internal::Autoscheduler::LoopNest | inline
is_root() const | Halide::Internal::Autoscheduler::LoopNest | inline
is_scalar() const | Halide::Internal::Autoscheduler::LoopNest | inline
max_idle_lane_wastage(const Target &target, GPULoopInfo gpu_loop_info) const | Halide::Internal::Autoscheduler::LoopNest |
max_inlined_calls() const | Halide::Internal::Autoscheduler::LoopNest |
max_inlined_calls() const | Halide::Internal::Autoscheduler::LoopNest |
memoize_features(StageMap< ScheduleFeatures > &memoized_features, const StageMap< ScheduleFeatures > *features_to_insert) const | Halide::Internal::Autoscheduler::LoopNest |
memoize_features(StageMap< ScheduleFeatures > &memoized_features, const StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest |
memoize_points_computed_minimum(StageMap< ScheduleFeatures > &memoized_features, const StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest |
memoize_points_computed_minimum(StageMap< ScheduleFeatures > &memoized_features, const StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest |
node | Halide::Internal::Autoscheduler::LoopNest |
node_has_dynamic_region_computed(const FunctionDAG::Node *f) const | Halide::Internal::Autoscheduler::LoopNest |
num_serial_loops(const FunctionDAG::Node::Stage *stage) const | Halide::Internal::Autoscheduler::LoopNest |
num_serial_loops() const | Halide::Internal::Autoscheduler::LoopNest |
other_stage_has_same_producer(const FunctionDAG::Node *producer) const | Halide::Internal::Autoscheduler::LoopNest |
parallel | Halide::Internal::Autoscheduler::LoopNest |
parallelize_in_tiles(const Adams2019Params &params, const vector< int64_t > &tiling, const LoopNest *parent) const | Halide::Internal::Autoscheduler::LoopNest |
parallelize_in_tiles(const vector< int64_t > &tiling, const LoopNest *parent, const Anderson2021Params &params, const Target &target, bool inner_tiling, bool adjust_tiling, bool move_all_rvars_inward=true, const vector< int > &rvars_to_move_inward={}) const | Halide::Internal::Autoscheduler::LoopNest |
points_accessed_per_thread(const Anderson2021Params &params, const Target &target, const GPULoopInfo &gpu_loop_info, const std::vector< const FunctionDAG::Edge * > &edge_chain, const LoadJacobian &jac, const LoopNest *parent, const LoopNest *grandparent, int64_t n, const ScheduleFeatures &feat, const LoadJacobian &serial_jac, bool producer_has_been_scheduled, int producer_innermost_dim, const GPUMemoryType &mem_type, bool verbose) const | Halide::Internal::Autoscheduler::LoopNest |
producer_computed_here_or_further_in(const FunctionDAG::Node *producer) const | Halide::Internal::Autoscheduler::LoopNest |
product_of_descendants(int loop_index) const | Halide::Internal::Autoscheduler::LoopNest |
product_of_self_and_descendants(int loop_index) const | Halide::Internal::Autoscheduler::LoopNest |
promote_allocs_to_registers(const Target &target, StageMap< Sites > &sites) const | Halide::Internal::Autoscheduler::LoopNest |
recompute_inlined_features(const StageMap< Sites > &sites, StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest |
recompute_inlined_features(const StageMap< Sites > &sites, StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest |
ref_count | Halide::Internal::Autoscheduler::LoopNest | mutable
region_computed_shrinks(const FunctionDAG::Node *f, const LoopNest *parent) const | Halide::Internal::Autoscheduler::LoopNest |
requires_dynamic_allocation(const FunctionDAG::Node *f, const Target &target, bool in_threads_loop) const | Halide::Internal::Autoscheduler::LoopNest |
set_bounds(const FunctionDAG::Node *f, BoundContents *b) const | Halide::Internal::Autoscheduler::LoopNest | inline
set_bounds(const FunctionDAG::Node *f, BoundContents *b) const | Halide::Internal::Autoscheduler::LoopNest | inline
set_working_set_at_task_feature(int64_t working_set, StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest | inline
set_working_set_at_task_feature(int64_t working_set, StageMap< ScheduleFeatures > *features) const | Halide::Internal::Autoscheduler::LoopNest | inline
size | Halide::Internal::Autoscheduler::LoopNest |
size | Halide::Internal::Autoscheduler::LoopNest |
stage | Halide::Internal::Autoscheduler::LoopNest |
storage_stride(const LoadJacobian &jac, int innermost_storage_dim, const FunctionDAG::Node *storage_node, const Bound &store_bounds, const LoopNest &root) const | Halide::Internal::Autoscheduler::LoopNest |
store_at | Halide::Internal::Autoscheduler::LoopNest |
structural_hash(uint64_t &h, int depth) const | Halide::Internal::Autoscheduler::LoopNest |
structural_hash(uint64_t &h, int depth) const | Halide::Internal::Autoscheduler::LoopNest |
tileable | Halide::Internal::Autoscheduler::LoopNest |
to_string() const | Halide::Internal::Autoscheduler::LoopNest |
unrolled_loops(const Target &target, const LoopNest *parent, const LoopNest *grandparent) const | Halide::Internal::Autoscheduler::LoopNest |
update_producers_to_be_staged(StageScheduleState &state, const NodeMap< bool > &all_inlined) const | Halide::Internal::Autoscheduler::LoopNest |
vector_dim | Halide::Internal::Autoscheduler::LoopNest |
vectorized_access_size(size_t loop_index, bool verbose=false) const | Halide::Internal::Autoscheduler::LoopNest |
vectorized_load_access_size(const LoadJacobian &jac, const FunctionDAG::Node *accessed, bool accessed_has_been_scheduled, int innermost_dim, const GPUMemoryType &mem_type, bool verbose=false) const | Halide::Internal::Autoscheduler::LoopNest |
vectorized_loop_index | Halide::Internal::Autoscheduler::LoopNest |