Halide 18.0.0
Halide compiler and libraries
|
#include <SearchSpace.h>
Classes | |
struct | ParallelTileOption |
Public Types | |
using | StateVector = std::vector< IntrusivePtr< State > > |
Public Attributes | |
const FunctionDAG & | dag |
const Anderson2021Params & | params |
const Target & | target |
SearchSpaceOptions | search_space_options |
std::mt19937 & | rng |
CostModel * | cost_model |
Statistics & | stats |
const LoopNestParser * | partial_schedule |
NodeMap< bool > | inlined_nodes |
NodeMap< std::vector< IntrusivePtr< const LoopNest > > > | compute_root_nodes |
NodeMap< std::map< int, std::vector< IntrusivePtr< const LoopNest > > > > | memoized_compute_root_blocks |
Definition at line 23 of file SearchSpace.h.
using Halide::Internal::Autoscheduler::SearchSpace::StateVector = std::vector<IntrusivePtr<State> > |
Definition at line 24 of file SearchSpace.h.
Halide::Internal::Autoscheduler::SearchSpace::SearchSpace | ( | const FunctionDAG & | dag, |
const Anderson2021Params & | params, | ||
const Target & | target, | ||
std::mt19937 & | rng, | ||
CostModel * | cost_model, | ||
Statistics & | stats, | ||
const LoopNestParser * | partial_schedule | ||
) |
vector< ParallelTileOption > Halide::Internal::Autoscheduler::SearchSpace::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 > Halide::Internal::Autoscheduler::SearchSpace::filter_thread_tile_options | ( | vector< IntrusivePtr< const LoopNest > > & | loop_nests | ) | const |
void Halide::Internal::Autoscheduler::SearchSpace::memoize_blocks | ( | const FunctionDAG::Node * | node, |
LoopNest * | new_root | ||
) |
bool Halide::Internal::Autoscheduler::SearchSpace::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 Halide::Internal::Autoscheduler::SearchSpace::generate_children | ( | const IntrusivePtr< State > & | state, |
std::function< void(IntrusivePtr< State > &&)> & | accept_child, | ||
int | pass_idx, | ||
bool | is_pre_pass | ||
) |
void Halide::Internal::Autoscheduler::SearchSpace::freeze_lowest_cost_stages | ( | const IntrusivePtr< State > & | best | ) |
vector< vector< int64_t > > Halide::Internal::Autoscheduler::SearchSpace::generate_compute_root_serial_tilings | ( | const IntrusivePtr< const LoopNest > & | pure_stage, |
const FunctionDAG::Node * | node | ||
) | const |
bool Halide::Internal::Autoscheduler::SearchSpace::add_child | ( | const IntrusivePtr< State > & | state, |
const IntrusivePtr< const LoopNest > & | new_root, | ||
std::function< void(IntrusivePtr< State > &&)> & | accept_child | ||
) | const |
void Halide::Internal::Autoscheduler::SearchSpace::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 Halide::Internal::Autoscheduler::SearchSpace::is_in_partial_schedule | ( | const FunctionDAG::Node * | node | ) | const |
const FunctionDAG& Halide::Internal::Autoscheduler::SearchSpace::dag |
Definition at line 25 of file SearchSpace.h.
const Anderson2021Params& Halide::Internal::Autoscheduler::SearchSpace::params |
Definition at line 26 of file SearchSpace.h.
Definition at line 27 of file SearchSpace.h.
SearchSpaceOptions Halide::Internal::Autoscheduler::SearchSpace::search_space_options |
Definition at line 28 of file SearchSpace.h.
std::mt19937& Halide::Internal::Autoscheduler::SearchSpace::rng |
Definition at line 29 of file SearchSpace.h.
CostModel* Halide::Internal::Autoscheduler::SearchSpace::cost_model |
Definition at line 30 of file SearchSpace.h.
Statistics& Halide::Internal::Autoscheduler::SearchSpace::stats |
Definition at line 31 of file SearchSpace.h.
const LoopNestParser* Halide::Internal::Autoscheduler::SearchSpace::partial_schedule |
Definition at line 32 of file SearchSpace.h.
Definition at line 34 of file SearchSpace.h.
NodeMap<std::vector<IntrusivePtr<const LoopNest> > > Halide::Internal::Autoscheduler::SearchSpace::compute_root_nodes |
Definition at line 35 of file SearchSpace.h.
NodeMap<std::map<int, std::vector<IntrusivePtr<const LoopNest> > > > Halide::Internal::Autoscheduler::SearchSpace::memoized_compute_root_blocks |
Definition at line 36 of file SearchSpace.h.