Halide  20.0.0
Halide compiler and libraries
LoopPartitioningDirective.h
Go to the documentation of this file.
1 #ifndef HALIDE_LOOP_PARTITIONING_DIRECTIVE_H
2 #define HALIDE_LOOP_PARTITIONING_DIRECTIVE_H
3 
4 /** \file
5  * Defines the Partition enum.
6  */
7 
8 #include <string>
9 
10 #include "Expr.h"
11 #include "Parameter.h"
12 
13 namespace Halide {
14 
15 /** Different ways to handle loops with a potentially optimizable boundary conditions. */
16 enum class Partition {
17  /** Automatically let Halide decide on Loop Parititioning. */
18  Auto,
19 
20  /** Disallow loop partitioning. */
21  Never,
22 
23  /** Force partitioning of the loop, even in the tail cases of outer
24  * partitioned loops. If Halide can't find a way to partition this loop, it
25  * will raise an error. */
26  Always
27 };
28 
29 } // namespace Halide
30 
31 #endif // HALIDE_LOOP_PARTITIONING_DIRECTIVE_H
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Defines the internal representation of parameters to halide piplines.
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Partition
Different ways to handle loops with a potentially optimizable boundary conditions.
@ Auto
Automatically let Halide decide on Loop Parititioning.
@ Always
Force partitioning of the loop, even in the tail cases of outer partitioned loops.
@ Never
Disallow loop partitioning.