|
Halide
13.0.4
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 | ||
| ) |