Halide
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() constHalide::Internal::Autoscheduler::LoopNest
accesses_input_buffer() constHalide::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() constHalide::Internal::Autoscheduler::LoopNest
all_strides_exist(const LoadJacobian &jac, const FunctionDAG::Node *storage_node, const LoopNest &root) constHalide::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) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
boundsHalide::Internal::Autoscheduler::LoopNestmutable
calls(const FunctionDAG::Node *f) constHalide::Internal::Autoscheduler::LoopNest
calls(const FunctionDAG::Node *f) constHalide::Internal::Autoscheduler::LoopNest
can_vectorize_access_for_innermost_dim(const LoadJacobian &jac, const FunctionDAG::Node *accessed, int innermost_dim, int loop_index) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
childrenHalide::Internal::Autoscheduler::LoopNest
childrenHalide::Internal::Autoscheduler::LoopNest
collect_all_inlined(NodeMap< bool > &all_inlined) constHalide::Internal::Autoscheduler::LoopNest
collect_nodes_that_should_be_inlined(const NodeMap< bool > &nodes_to_freeze, NodeMap< bool > &inlined_nodes) constHalide::Internal::Autoscheduler::LoopNest
collect_producers(const StageMap< Sites > &sites) constHalide::Internal::Autoscheduler::LoopNest
collect_producers(const StageMap< Sites > &sites) constHalide::Internal::Autoscheduler::LoopNest
collect_stages(std::set< const FunctionDAG::Node::Stage * > &stages) constHalide::Internal::Autoscheduler::LoopNest
collect_stages(std::set< const FunctionDAG::Node::Stage * > &stages) constHalide::Internal::Autoscheduler::LoopNest
compute_alloc_size_of_node_here(const FunctionDAG::Node *f) constHalide::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) constHalide::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) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
compute_hash_of_producers_stored_at_root(const StageMap< Sites > &sites) constHalide::Internal::Autoscheduler::LoopNest
compute_hash_of_producers_stored_at_root(const StageMap< Sites > &sites) constHalide::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) constHalide::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 >()) constHalide::Internal::Autoscheduler::LoopNest
compute_licm_amortization(const LoopNest *innermost, const LoopNest *parent, const ScheduleFeatures &feat, const LoadJacobian &jac, int producer_dims) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
compute_local_mem_stride(double stride, double bytes) constHalide::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) constHalide::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) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
compute_shared_mem_occupancy(const Anderson2021Params &params, const Target &target, int64_t total_shared_mem_alloc_size, ScheduleFeatures &feat) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
compute_warp_and_block_occupancy(const Anderson2021Params &params, ScheduleFeatures &feat, const GPULoopInfo &gpu_loop_info) constHalide::Internal::Autoscheduler::LoopNest
compute_warp_features(ScheduleFeatures &features, const GPULoopInfo &gpu_loop_info) constHalide::Internal::Autoscheduler::LoopNest
compute_working_set_from_features(int64_t *working_set, const StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNest
compute_working_set_from_features(int64_t *working_set, const StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNest
computes(const FunctionDAG::Node *f) constHalide::Internal::Autoscheduler::LoopNest
computes(const FunctionDAG::Node *f) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
dump() constHalide::Internal::Autoscheduler::LoopNest
dump(T &stream, string prefix, const LoopNest *parent) constHalide::Internal::Autoscheduler::LoopNest
exceeds_serial_extents_limit(const Target &target, const LoopNest *parent, bool in_threads_loop) constHalide::Internal::Autoscheduler::LoopNest
feature_intermediatesHalide::Internal::Autoscheduler::LoopNestmutable
feature_intermediates_cacheHalide::Internal::Autoscheduler::LoopNestmutable
featuresHalide::Internal::Autoscheduler::LoopNestmutable
features_cacheHalide::Internal::Autoscheduler::LoopNestmutable
find_innermost_and_parent() constHalide::Internal::Autoscheduler::LoopNest
find_pure_stage_loop_nest(const FunctionDAG::Node *node) constHalide::Internal::Autoscheduler::LoopNest
funcs_realized_or_inlined() constHalide::Internal::Autoscheduler::LoopNestinline
funcs_realized_or_inlined() constHalide::Internal::Autoscheduler::LoopNestinline
generate_vec_dim_serial_tilings(vector< int > &serial_sizes) constHalide::Internal::Autoscheduler::LoopNest
get_actual_vector_dim(const Bound &store_bounds) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
get_block_and_serial_extents(const LoopNest *block) constHalide::Internal::Autoscheduler::LoopNest
get_bounds(const FunctionDAG::Node *f) constHalide::Internal::Autoscheduler::LoopNest
get_bounds(const FunctionDAG::Node *f) constHalide::Internal::Autoscheduler::LoopNest
get_bounds_along_edge_chain(const FunctionDAG::Node *f, const vector< const FunctionDAG::Edge * > &edge_chain) constHalide::Internal::Autoscheduler::LoopNest
get_enclosing_block(const LoopNest *parent, const LoopNest *grandparent) constHalide::Internal::Autoscheduler::LoopNest
get_gpu_memory_type(bool in_block, bool in_thread, bool is_inlined=false) constHalide::Internal::Autoscheduler::LoopNest
get_pure_stage_vectorized_loop_index(const FunctionDAG::Node *node) constHalide::Internal::Autoscheduler::LoopNest
get_sites(StageMap< Sites > &sites, const LoopNest *task=nullptr, const LoopNest *parent=nullptr) constHalide::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) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
get_stages_computed_in_each_compute_root_loop(StageMap< StageMap< bool >> &descendants, const LoopNest *compute_root_loop_nest=nullptr) constHalide::Internal::Autoscheduler::LoopNest
get_total_constant_local_mem_alloc_size() constHalide::Internal::Autoscheduler::LoopNest
get_total_local_mem_alloc_size(bool constant_allocs_only=false, bool in_threads_loop=false) constHalide::Internal::Autoscheduler::LoopNest
get_union_thread_counts(const FunctionDAG::Node *f) constHalide::Internal::Autoscheduler::LoopNest
get_vectorized_loop_index_from_pure_stage(const LoopNest &root) constHalide::Internal::Autoscheduler::LoopNest
gpu_labelHalide::Internal::Autoscheduler::LoopNestmutable
has_constant_region_computed(const FunctionDAG::Node *node) constHalide::Internal::Autoscheduler::LoopNest
has_constant_region_required(const FunctionDAG::Node *node) constHalide::Internal::Autoscheduler::LoopNest
has_dynamic_allocation_inside_thread(bool in_thread_loop) constHalide::Internal::Autoscheduler::LoopNest
has_thread_loop_descendant() constHalide::Internal::Autoscheduler::LoopNest
has_valid_thread_extents() constHalide::Internal::Autoscheduler::LoopNest
hash_combine(uint64_t &h, uint64_t next)Halide::Internal::Autoscheduler::LoopNestinlinestatic
hash_combine(uint64_t &h, uint64_t next)Halide::Internal::Autoscheduler::LoopNestinlinestatic
inline_func(const FunctionDAG::Node *f)Halide::Internal::Autoscheduler::LoopNest
inline_func(const FunctionDAG::Node *f)Halide::Internal::Autoscheduler::LoopNest
inlinedHalide::Internal::Autoscheduler::LoopNest
innermostHalide::Internal::Autoscheduler::LoopNest
is_gpu_block(const Target &target) constHalide::Internal::Autoscheduler::LoopNestinline
is_gpu_serial(const Target &target) constHalide::Internal::Autoscheduler::LoopNestinline
is_gpu_thread(const Target &target) constHalide::Internal::Autoscheduler::LoopNestinline
is_root() constHalide::Internal::Autoscheduler::LoopNestinline
is_root() constHalide::Internal::Autoscheduler::LoopNestinline
is_scalar() constHalide::Internal::Autoscheduler::LoopNestinline
max_idle_lane_wastage(const Target &target, GPULoopInfo gpu_loop_info) constHalide::Internal::Autoscheduler::LoopNest
max_inlined_calls() constHalide::Internal::Autoscheduler::LoopNest
max_inlined_calls() constHalide::Internal::Autoscheduler::LoopNest
memoize_features(StageMap< ScheduleFeatures > &memoized_features, const StageMap< ScheduleFeatures > *features_to_insert) constHalide::Internal::Autoscheduler::LoopNest
memoize_features(StageMap< ScheduleFeatures > &memoized_features, const StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNest
memoize_points_computed_minimum(StageMap< ScheduleFeatures > &memoized_features, const StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNest
memoize_points_computed_minimum(StageMap< ScheduleFeatures > &memoized_features, const StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNest
nodeHalide::Internal::Autoscheduler::LoopNest
node_has_dynamic_region_computed(const FunctionDAG::Node *f) constHalide::Internal::Autoscheduler::LoopNest
num_serial_loops(const FunctionDAG::Node::Stage *stage) constHalide::Internal::Autoscheduler::LoopNest
num_serial_loops() constHalide::Internal::Autoscheduler::LoopNest
other_stage_has_same_producer(const FunctionDAG::Node *producer) constHalide::Internal::Autoscheduler::LoopNest
parallelHalide::Internal::Autoscheduler::LoopNest
parallelize_in_tiles(const Adams2019Params &params, const vector< int64_t > &tiling, const LoopNest *parent) constHalide::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={}) constHalide::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=false) constHalide::Internal::Autoscheduler::LoopNest
producer_computed_here_or_further_in(const FunctionDAG::Node *producer) constHalide::Internal::Autoscheduler::LoopNest
product_of_descendants(int loop_index) constHalide::Internal::Autoscheduler::LoopNest
product_of_self_and_descendants(int loop_index) constHalide::Internal::Autoscheduler::LoopNest
promote_allocs_to_registers(const Target &target, StageMap< Sites > &sites) constHalide::Internal::Autoscheduler::LoopNest
recompute_inlined_features(const StageMap< Sites > &sites, StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNest
recompute_inlined_features(const StageMap< Sites > &sites, StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNest
ref_countHalide::Internal::Autoscheduler::LoopNestmutable
region_computed_shrinks(const FunctionDAG::Node *f, const LoopNest *parent) constHalide::Internal::Autoscheduler::LoopNest
requires_dynamic_allocation(const FunctionDAG::Node *f, const Target &target, bool in_threads_loop) constHalide::Internal::Autoscheduler::LoopNest
set_bounds(const FunctionDAG::Node *f, BoundContents *b) constHalide::Internal::Autoscheduler::LoopNestinline
set_bounds(const FunctionDAG::Node *f, BoundContents *b) constHalide::Internal::Autoscheduler::LoopNestinline
set_working_set_at_task_feature(int64_t working_set, StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNestinline
set_working_set_at_task_feature(int64_t working_set, StageMap< ScheduleFeatures > *features) constHalide::Internal::Autoscheduler::LoopNestinline
sizeHalide::Internal::Autoscheduler::LoopNest
sizeHalide::Internal::Autoscheduler::LoopNest
stageHalide::Internal::Autoscheduler::LoopNest
storage_stride(const LoadJacobian &jac, int innermost_storage_dim, const FunctionDAG::Node *storage_node, const Bound &store_bounds, const LoopNest &root) constHalide::Internal::Autoscheduler::LoopNest
store_atHalide::Internal::Autoscheduler::LoopNest
structural_hash(uint64_t &h, int depth) constHalide::Internal::Autoscheduler::LoopNest
structural_hash(uint64_t &h, int depth) constHalide::Internal::Autoscheduler::LoopNest
tileableHalide::Internal::Autoscheduler::LoopNest
to_string() constHalide::Internal::Autoscheduler::LoopNest
unrolled_loops(const Target &target, const LoopNest *parent, const LoopNest *grandparent) constHalide::Internal::Autoscheduler::LoopNest
update_producers_to_be_staged(StageScheduleState &state, const NodeMap< bool > &all_inlined) constHalide::Internal::Autoscheduler::LoopNest
vector_dimHalide::Internal::Autoscheduler::LoopNest
vectorized_access_size(size_t loop_index, bool verbose=false) constHalide::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) constHalide::Internal::Autoscheduler::LoopNest
vectorized_loop_indexHalide::Internal::Autoscheduler::LoopNest