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
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);
Runtime settings and tuning parameters, heuristics to decide whether to use parallelized algorithms.
Parallelization of embarrassingly parallel execution by means of an OpenMP for loop....
Parallelization of embarrassingly parallel execution by means of work-stealing.
Parallelization of embarrassingly parallel execution by means of equal splitting. This file is a GNU ...
GNU parallel code for public use.
_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.
_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 ...
_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.
_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.
_Parallelism
Run-time equivalents for the compile-time tags.
@ parallel_omp_loop_static
Parallel with OpenMP static load-balancing.
@ parallel_unbalanced
Parallel unbalanced (equal-sized chunks).
@ parallel_omp_loop
Parallel with OpenMP dynamic load-balancing.