occ
|
main module for functionaliity parallelism - threads etc. More...
Typedefs | |
template<typename T > | |
using | thread_local_storage = tbb::enumerable_thread_specific< T > |
Functions | |
std::unique_ptr< tbb::global_control > & | get_tbb_control () |
void | shutdown_tbb () |
void | set_num_threads (int threads) |
int | get_num_threads () |
template<typename Lambda > | |
void | parallel_for (size_t begin, size_t end, Lambda &&lambda, size_t grainsize=0) |
template<typename T , typename Lambda , typename Reduction > | |
T | parallel_reduce (size_t begin, size_t end, T init, Lambda &&lambda, Reduction &&reduction, size_t grainsize=0) |
template<typename Lambda > | |
void | parallel_for_2d (size_t rows_begin, size_t rows_end, size_t cols_begin, size_t cols_end, Lambda &&lambda, size_t row_grainsize=0, size_t col_grainsize=0) |
template<typename Lambda > | |
void | parallel_invoke (Lambda &&lambda1, Lambda &&lambda2) |
template<typename... Lambdas> | |
void | parallel_invoke (Lambdas &&...lambdas) |
template<typename T , typename WorkItems , typename ProcessFunc , typename CombineFunc > | |
T | parallel_accumulate (const WorkItems &items, T init_value, ProcessFunc &&process, CombineFunc &&combine) |
template<typename T , typename ProcessFunc , typename CombineFunc > | |
T | parallel_accumulate_indexed (size_t num_items, T init_value, ProcessFunc &&process, CombineFunc &&combine) |
Variables | |
int | nthreads = 1 |
main module for functionaliity parallelism - threads etc.
using occ::parallel::thread_local_storage = typedef tbb::enumerable_thread_specific<T> |
|
inline |
|
inline |
T occ::parallel::parallel_accumulate | ( | const WorkItems & | items, |
T | init_value, | ||
ProcessFunc && | process, | ||
CombineFunc && | combine | ||
) |
T occ::parallel::parallel_accumulate_indexed | ( | size_t | num_items, |
T | init_value, | ||
ProcessFunc && | process, | ||
CombineFunc && | combine | ||
) |
void occ::parallel::parallel_for | ( | size_t | begin, |
size_t | end, | ||
Lambda && | lambda, | ||
size_t | grainsize = 0 |
||
) |
void occ::parallel::parallel_for_2d | ( | size_t | rows_begin, |
size_t | rows_end, | ||
size_t | cols_begin, | ||
size_t | cols_end, | ||
Lambda && | lambda, | ||
size_t | row_grainsize = 0 , |
||
size_t | col_grainsize = 0 |
||
) |
void occ::parallel::parallel_invoke | ( | Lambda && | lambda1, |
Lambda && | lambda2 | ||
) |
void occ::parallel::parallel_invoke | ( | Lambdas &&... | lambdas | ) |
T occ::parallel::parallel_reduce | ( | size_t | begin, |
size_t | end, | ||
T | init, | ||
Lambda && | lambda, | ||
Reduction && | reduction, | ||
size_t | grainsize = 0 |
||
) |
|
inline |
|
inline |
|
inline |