Halide 22.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
Expr.h
Base classes for Halide expressions (Halide::Expr) and statements (Halide::Internal::Stmt)
Parameter.h
Defines the internal representation of parameters to halide piplines.
Halide
This file defines the class FunctionDAG, which is our representation of a Halide pipeline,...
Definition: AbstractGenerator.h:19
Halide::MemoryType::Auto
@ Auto
Let Halide select a storage type automatically.
Halide::Partition
Partition
Different ways to handle loops with a potentially optimizable boundary conditions.
Definition: LoopPartitioningDirective.h:16
Halide::Partition::Always
@ Always
Force partitioning of the loop, even in the tail cases of outer partitioned loops.
Halide::Partition::Never
@ Never
Disallow loop partitioning.