9 #ifndef CUBBYFLOW_PARALLEL_H 10 #define CUBBYFLOW_PARALLEL_H 32 template <
typename RandomIterator,
typename T>
34 const RandomIterator& begin,
const RandomIterator& end,
53 template <
typename IndexType,
typename Function>
55 IndexType beginIndex, IndexType endIndex,
56 const Function&
function,
76 template <
typename IndexType,
typename Function>
78 IndexType beginIndex, IndexType endIndex,
79 const Function&
function,
100 template <
typename IndexType,
typename Function>
102 IndexType beginIndexX, IndexType endIndexX,
103 IndexType beginIndexY, IndexType endIndexY,
104 const Function&
function,
126 template <
typename IndexType,
typename Function>
128 IndexType beginIndexX, IndexType endIndexX,
129 IndexType beginIndexY, IndexType endIndexY,
130 const Function&
function,
153 template <
typename IndexType,
typename Function>
155 IndexType beginIndexX, IndexType endIndexX,
156 IndexType beginIndexY, IndexType endIndexY,
157 IndexType beginIndexZ, IndexType endIndexZ,
158 const Function&
function,
182 template <
typename IndexType,
typename Function>
184 IndexType beginIndexX, IndexType endIndexX,
185 IndexType beginIndexY, IndexType endIndexY,
186 IndexType beginIndexZ, IndexType endIndexZ,
187 const Function&
function,
207 template <
typename IndexType,
typename Value,
typename Function,
typename Reduce>
209 IndexType beginIndex, IndexType endIndex,
210 const Value& identity,
const Function&
function,
211 const Reduce& reduce,
225 template<
typename RandomIterator>
227 RandomIterator begin, RandomIterator end,
245 template<
typename RandomIterator,
typename CompareFunction>
247 RandomIterator begin, RandomIterator end,
248 CompareFunction compare,
unsigned int GetMaxNumberOfThreads()
Returns maximum number of threads to use.
void ParallelRangeFor(IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy)
Makes a range-loop from beginIndex to endIndex in parallel.
Definition: Parallel-Impl.h:283
void SetMaxNumberOfThreads(unsigned int numThreads)
Sets maximum number of threads to use.
Definition: pybind11Utils.h:24
void ParallelFor(IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy)
Makes a for-loop from beginIndex to endIndex in parallel.
Definition: Parallel-Impl.h:201
void ParallelSort(RandomIterator begin, RandomIterator end, ExecutionPolicy policy)
Sorts a container in parallel.
Definition: Parallel-Impl.h:492
ExecutionPolicy
Execution policy tag.
Definition: Parallel.h:15
void ParallelFill(const RandomIterator &begin, const RandomIterator &end, const T &value, ExecutionPolicy policy)
Fills from begin to end with value in parallel.
Definition: Parallel-Impl.h:182
Value ParallelReduce(IndexType beginIndex, IndexType endIndex, const Value &identity, const Function &function, const Reduce &reduce, ExecutionPolicy policy)
Performs reduce operation in parallel.
Definition: Parallel-Impl.h:407