Halide
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::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.