17 namespace Autoscheduler {
70 int64_t memory_limit,
bool verbose =
false);
A class representing a reference count to be used with IntrusivePtr.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
@ Internal
Not visible externally, similar to 'static' linkage in C.
unsigned __INT64_TYPE__ uint64_t
signed __INT64_TYPE__ int64_t
void apply_schedule(const FunctionDAG &dag, const MachineParams ¶ms)
void operator=(const State &)=delete
State(const State &)=delete
void save_featurization(const FunctionDAG &dag, const MachineParams ¶ms, const CachingOptions &cache_options, std::ostream &out)
void operator=(State &&)=delete
uint64_t structural_hash(int depth) const
bool calculate_cost(const FunctionDAG &dag, const MachineParams ¶ms, CostModel *cost_model, const CachingOptions &cache_options, int64_t memory_limit, bool verbose=false)
void generate_children(const FunctionDAG &dag, const MachineParams ¶ms, CostModel *cost_model, int64_t memory_limit, std::function< void(IntrusivePtr< State > &&)> &accept_child, Cache *cache) const
IntrusivePtr< const LoopNest > root
static int cost_calculations
IntrusivePtr< State > make_child() const
void compute_featurization(const FunctionDAG &dag, const MachineParams ¶ms, StageMap< ScheduleFeatures > *features, const CachingOptions &cache_options)
IntrusivePtr< const State > parent
Intrusive shared pointers have a reference count (a RefCount object) stored in the class itself.
A struct representing the machine parameters to generate the auto-scheduled code for.