|
17 | 17 |
|
18 | 18 | namespace RcppParallel { |
19 | 19 |
|
20 | | -inline void parallelFor(std::size_t begin, std::size_t end, Worker& worker) { |
| 20 | +inline void parallelFor(std::size_t begin, std::size_t end, |
| 21 | + Worker& worker, std::size_t grainSize = 1) { |
| 22 | + |
21 | 23 | #if RCPP_PARALLEL_USE_TBB |
22 | | - tbbParallelFor(begin, end, worker); |
| 24 | + tbbParallelFor(begin, end, worker, grainSize); |
23 | 25 | #else |
24 | | - ttParallelFor(begin, end, worker); |
| 26 | + ttParallelFor(begin, end, worker, grainSize); |
25 | 27 | #endif |
26 | 28 |
|
27 | 29 | } |
28 | 30 |
|
29 | 31 | template <typename Reducer> |
30 | | -inline void parallelReduce(std::size_t begin, std::size_t end, Reducer& reducer) { |
| 32 | +inline void parallelReduce(std::size_t begin, std::size_t end, |
| 33 | + Reducer& reducer, std::size_t grainSize = 1) { |
| 34 | + |
31 | 35 | #if RCPP_PARALLEL_USE_TBB |
32 | | - tbbParallelReduce(begin, end, reducer); |
| 36 | + tbbParallelReduce(begin, end, reducer, grainSize); |
33 | 37 | #else |
34 | | - ttParallelReduce(begin, end, reducer); |
| 38 | + ttParallelReduce(begin, end, reducer, grainSize); |
35 | 39 | #endif |
| 40 | + |
36 | 41 | } |
37 | 42 |
|
38 | 43 | } // namespace RcppParallel |
|
0 commit comments