11 #ifndef CUBBYFLOW_PARALLEL_HPP 12 #define CUBBYFLOW_PARALLEL_HPP 38 template <
typename RandomIterator,
typename T>
39 void ParallelFill(
const RandomIterator& begin,
const RandomIterator& end,
58 template <
typename IndexType,
typename Function>
59 void ParallelFor(IndexType beginIndex, IndexType endIndex,
60 const Function&
function,
80 template <
typename IndexType,
typename Function>
82 const Function&
function,
103 template <
typename IndexType,
typename Function>
104 void ParallelFor(IndexType beginIndexX, IndexType endIndexX,
105 IndexType beginIndexY, IndexType endIndexY,
106 const Function&
function,
128 template <
typename IndexType,
typename Function>
130 IndexType beginIndexY, IndexType endIndexY,
131 const Function&
function,
154 template <
typename IndexType,
typename Function>
155 void ParallelFor(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 beginIndexY, IndexType endIndexY,
185 IndexType beginIndexZ, IndexType endIndexZ,
186 const Function&
function,
206 template <
typename IndexType,
typename Value,
typename Function,
209 const Value& identity,
const Function&
function,
210 const Reduce& reduce,
224 template <
typename RandomIterator>
225 void ParallelSort(RandomIterator begin, RandomIterator end,
243 template <
typename RandomIterator,
typename CompareFunction>
244 void ParallelSort(RandomIterator begin, RandomIterator end,
245 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.hpp:307
void SetMaxNumberOfThreads(unsigned int numThreads)
Sets maximum number of threads to use.
Definition: pybind11Utils.hpp:20
void ParallelFor(IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy)
Makes a for-loop from beginIndex to endIndex in parallel.
Definition: Parallel-Impl.hpp:212
void ParallelSort(RandomIterator begin, RandomIterator end, ExecutionPolicy policy)
Sorts a container in parallel.
Definition: Parallel-Impl.hpp:523
ExecutionPolicy
Execution policy tag.
Definition: Parallel.hpp:17
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.hpp:191
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.hpp:436