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 "Definition.h"
11 
12 namespace Halide {
13 namespace Internal {
14 
15 /** Returns whether or not Halide can prove that it is safe to
16  * parallelize an update definition across a specific variable. If
17  * this returns true, it's definitely safe. If this returns false, it
18  * may still be safe, but Halide couldn't prove it.
19  */
20 bool can_parallelize_rvar(const std::string &rvar,
21  const std::string &func,
22  const Definition &r);
23 
24 } // namespace Internal
25 } // namespace Halide
26 
27 #endif
Definition.h
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: AddAtomicMutex.h:21
Halide::LinkageType::Internal
@ Internal
Not visible externally, similar to 'static' linkage in C.