|
| State ()=default |
|
| State (const State &)=delete |
|
| State (State &&)=delete |
|
void | operator= (const State &)=delete |
|
void | operator= (State &&)=delete |
|
uint64_t | structural_hash (int depth) const |
|
void | compute_featurization (const FunctionDAG &dag, const Adams2019Params ¶ms, StageMap< ScheduleFeatures > *features, const CachingOptions &cache_options) |
|
void | save_featurization (const FunctionDAG &dag, const Adams2019Params ¶ms, const CachingOptions &cache_options, std::ostream &out) |
|
bool | calculate_cost (const FunctionDAG &dag, const Adams2019Params ¶ms, CostModel *cost_model, const CachingOptions &cache_options, int verbosity=99) |
|
IntrusivePtr< State > | make_child () const |
|
void | generate_children (const FunctionDAG &dag, const Adams2019Params ¶ms, CostModel *cost_model, std::function< void(IntrusivePtr< State > &&)> &accept_child, Cache *cache) const |
|
void | dump (std::ostream &os) const |
|
void | apply_schedule (const FunctionDAG &dag, const Adams2019Params ¶ms) |
|
| State ()=default |
|
| State (const State &)=delete |
|
| State (State &&)=delete |
|
void | operator= (const State &)=delete |
|
void | operator= (State &&)=delete |
|
uint64_t | structural_hash (int depth) const |
|
void | compute_loop_nest_parents (LoopNestMap &p, const LoopNest *here, int depth) const |
|
const LoopNest * | deepest_common_ancestor (const LoopNestMap &parent, const LoopNest *a, const LoopNest *b) const |
|
template<typename PostCreateMutator > |
LoopNest * | create_feature_root (const PostCreateMutator &post_create_mutator) const |
|
bool | has_loop_nest_without_thread_loops () const |
|
bool | has_compute_root_loops_without_blocks () const |
|
IntrusivePtr< const LoopNest > | get_root_for_features (const Anderson2021Params ¶ms, const Target &target) const |
|
void | set_gpu_store_site (const LoopNestMap &parent, const LoopNest *loop, LoopNest::Sites &site) const |
|
bool | compute_featurization (const FunctionDAG &dag, const Anderson2021Params ¶ms, const Target &target, StageMap< ScheduleFeatures > *features, Statistics &stats, bool verbose=false) const |
|
void | save_featurization (const FunctionDAG &dag, const Anderson2021Params ¶ms, const Target &target, std::ostream &out) const |
|
bool | contains_store_at (const set< const FunctionDAG::Node * > &outermost_store_at, const IntrusivePtr< const LoopNest > &parent) const |
|
bool | contains_store_at_further_in_than_outermost () const |
|
bool | has_dynamic_allocation_inside_thread () const |
|
bool | exceeds_serial_extents_limit (const Target &target) const |
|
int64_t | get_shared_mem_alloc_size (const LoopNest *block, const LoopNest *loop) const |
|
bool | exceeds_shared_memory_limit (const Anderson2021Params ¶ms, const Target &target) const |
|
bool | exceeds_local_memory_limit (const Anderson2021Params ¶ms, const Target &target) const |
|
bool | calculate_cost (const FunctionDAG &dag, const Anderson2021Params ¶ms, const Target &target, CostModel *cost_model, Statistics &stats, bool verbose=false) |
|
IntrusivePtr< State > | make_child () const |
|
void | dump () const |
|
void | print_compute_locations () const |
|
void | fuse_gpu_blocks (LoopNest::StageScheduleState *state, Stage &stage, const vector< VarOrRVar > ¶llel_vars, const vector< int64_t > ¶llel_extents, const vector< int > &constant_extents) const |
|
void | mark_gpu_blocks (LoopNest::StageScheduleState *state, Stage &stage, const vector< VarOrRVar > ¶llel_vars, const vector< int64_t > ¶llel_extents) const |
|
bool | mark_gpu_threads (LoopNest::StageScheduleState *state, Stage &stage, std::unordered_set< std::string > &new_serial_vars, std::ostringstream &staged_funcs_schedule_source) const |
|
bool | can_fuse_gpu (const vector< int64_t > ¶llel_extents) const |
|
void | apply_schedule (const FunctionDAG &dag, const Anderson2021Params ¶ms, const Target &target) |
|
bool | should_always_consider_inline (const FunctionDAG::Node *node) const |
|
void | add_to_always_consider_inline_options (const FunctionDAG::Node *node) |
|
void | update_always_consider_inline_options (const FunctionDAG::Node *node) |
|
const LoopNest * | deepest_valid_compute_location (const Anderson2021Params ¶ms, const LoopNestMap &parent, const FunctionDAG::Node &node, const LoopNest *loop, const LoopNest *root, StageMap< int64_t > &total_shared_mem_alloc_sizes) const |
|
int64_t | total_loop_extents_of_ancestors (const LoopNestMap &parent, const LoopNest *loop) const |
|
Definition at line 21 of file State.h.