Halide 19.0.0
Halide compiler and libraries
Loading...
Searching...
No Matches
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
13namespace Halide {
14
15/** Different ways to handle loops with a potentially optimizable boundary conditions. */
16enum 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,...
@ Auto
Let Halide select a storage type automatically.
Partition
Different ways to handle loops with a potentially optimizable boundary conditions.
@ Always
Force partitioning of the loop, even in the tail cases of outer partitioned loops.
@ Never
Disallow loop partitioning.