Halide 22.0.0 Halide compiler and libraries

Loading...
Searching...
No Matches
ParallelRVar.h
Go to the documentation of this file.
1#ifndef HALIDE_PARALLEL_RVAR_H
2#define HALIDE_PARALLEL_RVAR_H
3
4/** \file
5 *
6 * Method for checking if it's safe to parallelize an update
7 * definition across a reduction variable.
8 */
9
10#include <string>
11
12 namespace Halide {
13 namespace Internal {
14
15 class Definition;
16
17/** Returns whether or not Halide can prove that it is safe to
18 * parallelize an update definition across a specific variable. If
19 * this returns true, it's definitely safe. If this returns false, it
20 * may still be safe, but Halide couldn't prove it.
21 */
22 bool can_parallelize_rvar(const std::string &rvar,
23 const std::string &func,
24 const Definition &r);
25
26} // namespace Internal
27} // namespace Halide
28
29#endif
Halide::Internal::Definition
A Function definition which can either represent a init or an update definition.
Definition Definition.h:38
Halide::Internal::can_parallelize_rvar
bool can_parallelize_rvar(const std::string &rvar, const std::string &func, const Definition &r)
Returns whether or not Halide can prove that it is safe to parallelize an update definition across a ...
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.