Halide 22.0.0 Halide compiler and libraries

AutoSchedule.h
Go to the documentation of this file.
1#ifndef AUTO_SCHEDULE_H
2#define AUTO_SCHEDULE_H
3
4#include <random>
5#include <vector>
6
7#include "CostModel.h"
8#include "Featurization.h"
9#include "FunctionDAG.h"
10#include "Halide.h"
11#include "PerfectHashMap.h"
12#include "SearchSpace.h"
13#include "State.h"
14
15 namespace Halide {
16 namespace Internal {
17 namespace Autoscheduler {
18
19 typedef PerfectHashMap<FunctionDAG::Node::Stage, ScheduleFeatures> StageMapOfScheduleFeatures;
20
21 void find_and_apply_schedule(FunctionDAG &dag,
22 const std::vector<Function> &outputs,
23 const Anderson2021Params &params,
24 const Target &target,
25 CostModel *cost_model,
26 int beam_size,
27 StageMapOfScheduleFeatures *schedule_features);
28
29} // namespace Autoscheduler
30} // namespace Internal
31} // namespace Halide
32
33#endif // AUTO_SCHEDULE_H
PerfectHashMap.h
SearchSpace.h
CostModel.h
Featurization.h
FunctionDAG.h
State.h
Halide::CostModel
Definition: CostModel.h:61
PerfectHashMap
Definition: PerfectHashMap.h:38
Halide::Internal::Autoscheduler::find_and_apply_schedule
void find_and_apply_schedule(FunctionDAG &dag, const std::vector< Function > &outputs, const Adams2019Params &params, CostModel *cost_model, int beam_size, StageMapOfScheduleFeatures *schedule_features)
Halide::Internal::Autoscheduler::StageMapOfScheduleFeatures
PerfectHashMap< FunctionDAG::Node::Stage, ScheduleFeatures > StageMapOfScheduleFeatures
Definition: AutoSchedule.h:12
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition: AbstractGenerator.h:19
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.
Halide::Internal::Autoscheduler::Anderson2021Params
Definition: CostModel.h:18
Halide::Internal::Autoscheduler::FunctionDAG
Definition: FunctionDAG.h:367
Halide::Target
A struct representing a target machine and os to generate code for.
Definition: Target.h:19