Halide  12.0.1
Halide compiler and libraries
Halide::Internal::Autoscheduler::State Struct Reference

#include <State.h>

Public Member Functions

 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 MachineParams &params, StageMap< ScheduleFeatures > *features, const CachingOptions &cache_options)
 
void save_featurization (const FunctionDAG &dag, const MachineParams &params, const CachingOptions &cache_options, std::ostream &out)
 
bool calculate_cost (const FunctionDAG &dag, const MachineParams &params, CostModel *cost_model, const CachingOptions &cache_options, int64_t memory_limit, bool verbose=false)
 
IntrusivePtr< Statemake_child () const
 
void generate_children (const FunctionDAG &dag, const MachineParams &params, CostModel *cost_model, int64_t memory_limit, std::function< void(IntrusivePtr< State > &&)> &accept_child, Cache *cache) const
 
void dump () const
 
void apply_schedule (const FunctionDAG &dag, const MachineParams &params)
 

Public Attributes

RefCount ref_count
 
IntrusivePtr< const LoopNestroot
 
IntrusivePtr< const Stateparent
 
double cost = 0
 
int num_decisions_made = 0
 
bool penalized = false
 
string schedule_source
 

Static Public Attributes

static int cost_calculations
 

Detailed Description

Definition at line 21 of file State.h.

Constructor & Destructor Documentation

◆ State() [1/3]

Halide::Internal::Autoscheduler::State::State ( )
default

◆ State() [2/3]

Halide::Internal::Autoscheduler::State::State ( const State )
delete

◆ State() [3/3]

Halide::Internal::Autoscheduler::State::State ( State &&  )
delete

Member Function Documentation

◆ operator=() [1/2]

void Halide::Internal::Autoscheduler::State::operator= ( const State )
delete

◆ operator=() [2/2]

void Halide::Internal::Autoscheduler::State::operator= ( State &&  )
delete

◆ structural_hash()

uint64_t Halide::Internal::Autoscheduler::State::structural_hash ( int  depth) const

◆ compute_featurization()

void Halide::Internal::Autoscheduler::State::compute_featurization ( const FunctionDAG dag,
const MachineParams params,
StageMap< ScheduleFeatures > *  features,
const CachingOptions cache_options 
)

◆ save_featurization()

void Halide::Internal::Autoscheduler::State::save_featurization ( const FunctionDAG dag,
const MachineParams params,
const CachingOptions cache_options,
std::ostream &  out 
)

◆ calculate_cost()

bool Halide::Internal::Autoscheduler::State::calculate_cost ( const FunctionDAG dag,
const MachineParams params,
CostModel cost_model,
const CachingOptions cache_options,
int64_t  memory_limit,
bool  verbose = false 
)

◆ make_child()

IntrusivePtr<State> Halide::Internal::Autoscheduler::State::make_child ( ) const

◆ generate_children()

void Halide::Internal::Autoscheduler::State::generate_children ( const FunctionDAG dag,
const MachineParams params,
CostModel cost_model,
int64_t  memory_limit,
std::function< void(IntrusivePtr< State > &&)> &  accept_child,
Cache cache 
) const

◆ dump()

void Halide::Internal::Autoscheduler::State::dump ( ) const

◆ apply_schedule()

void Halide::Internal::Autoscheduler::State::apply_schedule ( const FunctionDAG dag,
const MachineParams params 
)

Member Data Documentation

◆ ref_count

RefCount Halide::Internal::Autoscheduler::State::ref_count
mutable

Definition at line 22 of file State.h.

◆ root

IntrusivePtr<const LoopNest> Halide::Internal::Autoscheduler::State::root

Definition at line 24 of file State.h.

◆ parent

IntrusivePtr<const State> Halide::Internal::Autoscheduler::State::parent

Definition at line 26 of file State.h.

◆ cost

double Halide::Internal::Autoscheduler::State::cost = 0

Definition at line 28 of file State.h.

◆ num_decisions_made

int Halide::Internal::Autoscheduler::State::num_decisions_made = 0

Definition at line 30 of file State.h.

◆ penalized

bool Halide::Internal::Autoscheduler::State::penalized = false

Definition at line 32 of file State.h.

◆ schedule_source

string Halide::Internal::Autoscheduler::State::schedule_source

Definition at line 36 of file State.h.

◆ cost_calculations

int Halide::Internal::Autoscheduler::State::cost_calculations
static

Definition at line 40 of file State.h.


The documentation for this struct was generated from the following file: