Halide
12.0.1
Halide compiler and libraries
|
Classes | |
struct | CachingOptions |
struct | Cache |
struct | OptionalRational |
class | LoadJacobian |
class | Span |
struct | BoundContents |
struct | FunctionDAG |
struct | LoopNest |
struct | State |
struct | ScopedTimer |
struct | Timer |
Typedefs | |
typedef PerfectHashMap< FunctionDAG::Node::Stage, ScheduleFeatures > | StageMapOfScheduleFeatures |
using | BlockCache = NodeMap< std::map< int, std::vector< IntrusivePtr< const LoopNest > >> > |
using | Bound = IntrusivePtr< const BoundContents > |
template<typename T > | |
using | NodeMap = PerfectHashMap< FunctionDAG::Node, T > |
template<typename T > | |
using | StageMap = PerfectHashMap< FunctionDAG::Node::Stage, T > |
using | Clock = std::chrono::high_resolution_clock |
Functions | |
void | find_and_apply_schedule (FunctionDAG &dag, const std::vector< Function > &outputs, const MachineParams ¶ms, CostModel *cost_model, int beam_size, StageMapOfScheduleFeatures *schedule_features) |
bool | use_memoized_features () |
bool | is_memoize_blocks_enabled () |
bool | may_subtile () |
std::vector< std::vector< int64_t > > | generate_tilings (const vector< int64_t > &s, int d, int factor, bool allow_splits) |
const LoopNest * | deepest_common_ancestor (const std::map< const LoopNest *, std::pair< const LoopNest *, int >> &parents, const LoopNest *a, const LoopNest *b) |
void | compute_loop_nest_parents (std::map< const LoopNest *, std::pair< const LoopNest *, int >> &parents, const LoopNest *here, int depth) |
typedef PerfectHashMap< FunctionDAG::Node::Stage, ScheduleFeatures > Halide::Internal::Autoscheduler::StageMapOfScheduleFeatures |
Definition at line 12 of file AutoSchedule.h.
using Halide::Internal::Autoscheduler::BlockCache = typedef NodeMap<std::map<int, std::vector<IntrusivePtr<const LoopNest> >> > |
using Halide::Internal::Autoscheduler::Bound = typedef IntrusivePtr<const BoundContents> |
Definition at line 361 of file FunctionDAG.h.
using Halide::Internal::Autoscheduler::NodeMap = typedef PerfectHashMap<FunctionDAG::Node, T> |
Definition at line 21 of file LoopNest.h.
using Halide::Internal::Autoscheduler::StageMap = typedef PerfectHashMap<FunctionDAG::Node::Stage, T> |
Definition at line 24 of file LoopNest.h.
using Halide::Internal::Autoscheduler::Clock = typedef std::chrono::high_resolution_clock |
void Halide::Internal::Autoscheduler::find_and_apply_schedule | ( | FunctionDAG & | dag, |
const std::vector< Function > & | outputs, | ||
const MachineParams & | params, | ||
CostModel * | cost_model, | ||
int | beam_size, | ||
StageMapOfScheduleFeatures * | schedule_features | ||
) |
bool Halide::Internal::Autoscheduler::use_memoized_features | ( | ) |
bool Halide::Internal::Autoscheduler::is_memoize_blocks_enabled | ( | ) |
bool Halide::Internal::Autoscheduler::may_subtile | ( | ) |
std::vector<std::vector<int64_t> > Halide::Internal::Autoscheduler::generate_tilings | ( | const vector< int64_t > & | s, |
int | d, | ||
int | factor, | ||
bool | allow_splits | ||
) |
const LoopNest* Halide::Internal::Autoscheduler::deepest_common_ancestor | ( | const std::map< const LoopNest *, std::pair< const LoopNest *, int >> & | parents, |
const LoopNest * | a, | ||
const LoopNest * | b | ||
) |