#include <SearchSpace.h>
|
| SearchSpace (const FunctionDAG &dag, const Anderson2021Params ¶ms, const Target &target, std::mt19937 &rng, CostModel *cost_model, Statistics &stats, const LoopNestParser *partial_schedule) |
|
vector< ParallelTileOption > | filter_parallel_tile_options (const IntrusivePtr< State > &state, const FunctionDAG::Node *node, vector< vector< int64_t > > &inner_tilings, const vector< int64_t > &pure_size) const |
|
vector< ThreadTileOption > | filter_thread_tile_options (vector< IntrusivePtr< const LoopNest > > &loop_nests) const |
|
void | memoize_blocks (const FunctionDAG::Node *node, LoopNest *new_root) |
|
bool | add_states_from_memoized_blocks (const IntrusivePtr< State > &state, std::function< void(IntrusivePtr< State > &&)> &accept_child, const FunctionDAG::Node *node, int &num_children) const |
|
void | generate_children (const IntrusivePtr< State > &state, std::function< void(IntrusivePtr< State > &&)> &accept_child, int pass_idx, bool is_pre_pass) |
|
void | freeze_lowest_cost_stages (const IntrusivePtr< State > &best) |
|
vector< vector< int64_t > > | generate_compute_root_serial_tilings (const IntrusivePtr< const LoopNest > &pure_stage, const FunctionDAG::Node *node) const |
|
bool | add_child (const IntrusivePtr< State > &state, const IntrusivePtr< const LoopNest > &new_root, std::function< void(IntrusivePtr< State > &&)> &accept_child) const |
|
void | process_pending_states (std::unordered_map< uint64_t, StateVector > &primary_options, std::unordered_map< uint64_t, StateVector > &secondary_options, int &num_children, std::function< void(IntrusivePtr< State > &&)> &accept_child, const FunctionDAG::Node *node) |
|
bool | is_in_partial_schedule (const FunctionDAG::Node *node) const |
|
Definition at line 23 of file SearchSpace.h.
◆ StateVector
◆ SearchSpace()
◆ filter_parallel_tile_options()
◆ filter_thread_tile_options()
◆ memoize_blocks()
◆ add_states_from_memoized_blocks()
◆ generate_children()
void Halide::Internal::Autoscheduler::SearchSpace::generate_children |
( |
const IntrusivePtr< State > & | state, |
|
|
std::function< void(IntrusivePtr< State > &&)> & | accept_child, |
|
|
int | pass_idx, |
|
|
bool | is_pre_pass ) |
◆ freeze_lowest_cost_stages()
void Halide::Internal::Autoscheduler::SearchSpace::freeze_lowest_cost_stages |
( |
const IntrusivePtr< State > & | best | ) |
|
◆ generate_compute_root_serial_tilings()
◆ add_child()
◆ process_pending_states()
◆ is_in_partial_schedule()
bool Halide::Internal::Autoscheduler::SearchSpace::is_in_partial_schedule |
( |
const FunctionDAG::Node * | node | ) |
const |
◆ dag
const FunctionDAG& Halide::Internal::Autoscheduler::SearchSpace::dag |
◆ params
◆ target
const Target& Halide::Internal::Autoscheduler::SearchSpace::target |
◆ search_space_options
◆ rng
std::mt19937& Halide::Internal::Autoscheduler::SearchSpace::rng |
◆ cost_model
CostModel* Halide::Internal::Autoscheduler::SearchSpace::cost_model |
◆ stats
Statistics& Halide::Internal::Autoscheduler::SearchSpace::stats |
◆ partial_schedule
const LoopNestParser* Halide::Internal::Autoscheduler::SearchSpace::partial_schedule |
◆ inlined_nodes
NodeMap<bool> Halide::Internal::Autoscheduler::SearchSpace::inlined_nodes |
◆ compute_root_nodes
◆ memoized_compute_root_blocks
NodeMap<std::map<int, std::vector<IntrusivePtr<const LoopNest> > > > Halide::Internal::Autoscheduler::SearchSpace::memoized_compute_root_blocks |
The documentation for this struct was generated from the following file: