Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Classes | |
struct | adaptive_mode |
Provides default splitting strategy for partition objects. More... | |
class | affinity_partition_type |
class | auto_partition_type |
class | do_group_task |
class | do_group_task_forward |
For internal use only. More... | |
class | do_group_task_input |
class | do_iteration_task |
For internal use only. More... | |
class | do_iteration_task_iter |
class | do_task_iter |
For internal use only. More... | |
struct | dynamic_grainsize_mode |
class | finish_deterministic_reduce |
Task type used to combine the partial results of parallel_deterministic_reduce. More... | |
class | finish_reduce |
Task type used to combine the partial results of parallel_reduce. More... | |
class | flag_task |
Join task node that contains shared flag for stealing feedback. More... | |
struct | linear_affinity_mode |
Provides default linear indexing of partitioner's sequence. More... | |
class | old_auto_partition_type |
Backward-compatible partition for auto and affinity partition objects. More... | |
class | parallel_do_feeder_impl |
For internal use only. More... | |
class | parallel_do_operator_selector |
For internal use only. More... | |
struct | partition_type_base |
Provides default methods for partition objects and common algorithm blocks. More... | |
struct | proportion_helper |
A helper class to create a proportional_split object for a given type of Range. More... | |
struct | proportion_helper< Range, typename enable_if< Range::is_splittable_in_proportion, void >::type > |
struct | proportional_mode |
Provides proportional splitting strategy for partition objects. More... | |
struct | quick_sort_body |
Body class used to sort elements in a range that is smaller than the grainsize. More... | |
class | quick_sort_pretest_body |
Body class used to test if elements in a range are presorted. More... | |
class | quick_sort_range |
Range used in quicksort to split elements into subranges based on a value. More... | |
class | range_vector |
Range pool stores ranges of type T in a circular buffer with MaxCapacity. More... | |
class | simple_partition_type |
class | start_deterministic_reduce |
Task type used to split the work of parallel_deterministic_reduce. More... | |
class | start_for |
Task type used in parallel_for. More... | |
class | start_reduce |
Task type used to split the work of parallel_reduce. More... | |
class | static_partition_type |
Typedefs | |
typedef char | reduction_context |
typedef unsigned char | depth_t |
Enumerations | |
enum | { root_task, left_child, right_child } |
Functions | |
template<typename Iterator , typename Body , typename Item > | |
void | run_parallel_do (Iterator first, Iterator last, const Body &body, task_group_context &context) |
For internal use only. More... | |
template<typename Iterator , typename Body , typename Item > | |
void | select_parallel_do (Iterator first, Iterator last, const Body &body, void(Body::*)(Item) const, task_group_context &context) |
For internal use only. More... | |
template<typename Iterator , typename Body , typename Item , typename _Item > | |
void | select_parallel_do (Iterator first, Iterator last, const Body &body, void(Body::*)(Item, parallel_do_feeder< _Item > &) const, task_group_context &context) |
For internal use only. More... | |
void * | allocate_sibling (task *start_for_task, size_t bytes) |
allocate right task with new parent More... | |
void | allocate_sibling (task *start_reduce_task, task *tasks[], size_t start_bytes, size_t finish_bytes) |
allocate right task with new parent More... | |
template<typename RandomAccessIterator , typename Compare > | |
void | parallel_quick_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp) |
Wrapper method to initiate the sort by calling parallel_for. More... | |
static size_t | get_initial_partition_head () |
typedef unsigned char tbb::interface9::internal::depth_t |
Depth is a relative depth of recursive division inside a range pool. Relative depth allows infinite absolute depth of the recursion for heavily unbalanced workloads with range represented by a number that cannot fit into machine word.
Definition at line 150 of file partitioner.h.
typedef char tbb::interface9::internal::reduction_context |
Represented as a char, not enum, for compactness.
Definition at line 43 of file parallel_reduce.h.
anonymous enum |
Values for reduction_context.
Enumerator | |
---|---|
root_task | |
left_child | |
right_child |
Definition at line 38 of file parallel_reduce.h.
allocate right task with new parent
Definition at line 131 of file tbb/parallel_for.h.
References tbb::internal::allocate_child_proxy::allocate(), tbb::task::allocate_child(), tbb::task::allocate_continuation(), tbb::task::set_parent(), and tbb::task::set_ref_count().
Referenced by tbb::interface9::internal::start_for< Range, Body, Partitioner >::offer_work(), tbb::interface9::internal::start_reduce< Range, Body, Partitioner >::offer_work(), and tbb::interface9::internal::start_deterministic_reduce< Range, Body, Partitioner >::offer_work().
|
inline |
allocate right task with new parent
Definition at line 173 of file parallel_reduce.h.
References tbb::internal::allocate_continuation_proxy::allocate(), tbb::internal::allocate_child_proxy::allocate(), tbb::task::allocate_child(), tbb::task::allocate_continuation(), tbb::task::set_parent(), and tbb::task::set_ref_count().
|
static |
Definition at line 337 of file partitioner.h.
References tbb::this_task_arena::current_thread_index(), and tbb::interface7::internal::task_arena_base::not_initialized.