2 #ifndef included_schedule_file_SCHEDULE_H
3 #define included_schedule_file_SCHEDULE_H
23 Var c(relu.get_schedule().dims()[0].var);
25 Var n(relu.get_schedule().dims()[3].var);
26 Var x(relu.get_schedule().dims()[1].var);
28 Var y(relu.get_schedule().dims()[2].var);
30 RVar r4_x(conv.update(0).get_schedule().dims()[0].var);
31 RVar r4_y(conv.update(0).get_schedule().dims()[1].var);
32 RVar r4_z(conv.update(0).get_schedule().dims()[2].var);
34 .split(x, x, xi, 2, TailStrategy::ShiftInwards)
35 .split(c, c, ci, 8, TailStrategy::ShiftInwards)
36 .split(y, y, yi, 4, TailStrategy::ShiftInwards)
41 .reorder(ci, xi, yi, c, y, x, n)
45 .split(c, c, ci, 8, TailStrategy::GuardWithIf)
49 .reorder(ci, c, x, y, n, r4_x, r4_y, r4_z);
51 .store_in(MemoryType::Stack)
52 .split(c, c, ci, 8, TailStrategy::ShiftInwards)
57 .reorder(ci, c, x, y, n);
A class representing a Halide pipeline.
Func get_func(size_t index)
Return handle to the index-th Func within the pipeline based on the topological order.
void apply_schedule_included_schedule_file(::Halide::Pipeline pipeline, ::Halide::Target target)
TailStrategy
Different ways to handle a tail case in a split when the factor does not provably divide the extent.
MemoryType
An enum describing different address spaces to be used with Func::store_in.
A struct representing a target machine and os to generate code for.