Parallel.hpp File Reference

Go to the source code of this file.

Namespaces

 CubbyFlow
 

Enumerations

enum  CubbyFlow::ExecutionPolicy { CubbyFlow::ExecutionPolicy::Serial, CubbyFlow::ExecutionPolicy::Parallel }
 Execution policy tag. More...
 

Functions

template<typename RandomIterator , typename T >
void CubbyFlow::ParallelFill (const RandomIterator &begin, const RandomIterator &end, const T &value, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Fills from begin to end with value in parallel. More...
 
template<typename IndexType , typename Function >
void CubbyFlow::ParallelFor (IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Makes a for-loop from beginIndex to endIndex in parallel. More...
 
template<typename IndexType , typename Function >
void CubbyFlow::ParallelRangeFor (IndexType beginIndex, IndexType endIndex, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Makes a range-loop from beginIndex to endIndex in parallel. More...
 
template<typename IndexType , typename Function >
void CubbyFlow::ParallelFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Makes a 2D nested for-loop in parallel. More...
 
template<typename IndexType , typename Function >
void CubbyFlow::ParallelRangeFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Makes a 2D nested range-loop in parallel. More...
 
template<typename IndexType , typename Function >
void CubbyFlow::ParallelFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, IndexType beginIndexZ, IndexType endIndexZ, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Makes a 3D nested for-loop in parallel. More...
 
template<typename IndexType , typename Function >
void CubbyFlow::ParallelRangeFor (IndexType beginIndexX, IndexType endIndexX, IndexType beginIndexY, IndexType endIndexY, IndexType beginIndexZ, IndexType endIndexZ, const Function &function, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Makes a 3D nested range-loop in parallel. More...
 
template<typename IndexType , typename Value , typename Function , typename Reduce >
Value CubbyFlow::ParallelReduce (IndexType beginIndex, IndexType endIndex, const Value &identity, const Function &function, const Reduce &reduce, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Performs reduce operation in parallel. More...
 
template<typename RandomIterator >
void CubbyFlow::ParallelSort (RandomIterator begin, RandomIterator end, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Sorts a container in parallel. More...
 
template<typename RandomIterator , typename CompareFunction >
void CubbyFlow::ParallelSort (RandomIterator begin, RandomIterator end, CompareFunction compare, ExecutionPolicy policy=ExecutionPolicy::Parallel)
 Sorts a container in parallel with a custom compare function. More...
 
void CubbyFlow::SetMaxNumberOfThreads (unsigned int numThreads)
 Sets maximum number of threads to use. More...
 
unsigned int CubbyFlow::GetMaxNumberOfThreads ()
 Returns maximum number of threads to use. More...