35 #ifndef _GLIBCXX_PARALLEL_FOR_EACH_H
36 #define _GLIBCXX_PARALLEL_FOR_EACH_H 1
58 template<
typename _IIter,
typename _UserOp,
59 typename _Functionality,
typename _Red,
typename _Result>
63 _Functionality& __functionality,
65 _Result __reduction_start,
66 _Result& __output,
typename
67 std::iterator_traits<_IIter>::
68 difference_type __bound,
73 (__begin, __end, __user_op, __functionality, __reduction,
74 __reduction_start, __output, __bound);
77 (__begin, __end, __user_op, __functionality, __reduction,
78 __reduction_start, __output, __bound);
81 (__begin, __end, __user_op, __functionality, __reduction,
82 __reduction_start, __output, __bound);
85 (__begin, __end, __user_op, __functionality, __reduction,
86 __reduction_start, __output, __bound);
Parallel with OpenMP dynamic load-balancing.
Parallelization of embarrassingly parallel execution by means of equal splitting. This file is a GNU ...
_Op __for_each_template_random_access_workstealing(_RAIter __begin, _RAIter __end, _Op __op, _Fu &__f, _Red __r, _Result __base, _Result &__output, typename std::iterator_traits< _RAIter >::difference_type __bound)
Work stealing algorithm for random access iterators.
Parallel with OpenMP static load-balancing.
Parallel unbalanced (equal-sized chunks).
_UserOp __for_each_template_random_access(_IIter __begin, _IIter __end, _UserOp __user_op, _Functionality &__functionality, _Red __reduction, _Result __reduction_start, _Result &__output, typename std::iterator_traits< _IIter >::difference_type __bound, _Parallelism __parallelism_tag)
Chose the desired algorithm by evaluating __parallelism_tag.
GNU parallel code for public use.
_Op __for_each_template_random_access_omp_loop(_RAIter __begin, _RAIter __end, _Op __o, _Fu &__f, _Red __r, _Result __base, _Result &__output, typename std::iterator_traits< _RAIter >::difference_type __bound)
Embarrassingly parallel algorithm for random access iterators, using an OpenMP for loop...
Runtime settings and tuning parameters, heuristics to decide whether to use parallelized algorithms...
Parallelization of embarrassingly parallel execution by means of work-stealing.
Parallelization of embarrassingly parallel execution by means of an OpenMP for loop. This file is a GNU parallel extension to the Standard C++ Library.
_Op __for_each_template_random_access_ed(_RAIter __begin, _RAIter __end, _Op __o, _Fu &__f, _Red __r, _Result __base, _Result &__output, typename std::iterator_traits< _RAIter >::difference_type __bound)
Embarrassingly parallel algorithm for random access iterators, using hand-crafted parallelization by ...
_Parallelism
Run-time equivalents for the compile-time tags.