Scroll to navigation

__gnu_parallel::_Settings(3cxx) __gnu_parallel::_Settings(3cxx)

NAME

__gnu_parallel::_Settings - class _Settings Run-time settings for the parallel mode including all tunable parameters.

SYNOPSIS

#include <settings.h>

Static Public Member Functions


static const _Settings & get () throw ()
Get the global settings. static void set (_Settings &) throw ()
Set the global settings.

Public Attributes


_SequenceIndex accumulate_minimal_n
Minimal input size for accumulate. unsigned int adjacent_difference_minimal_n
Minimal input size for adjacent_difference. _AlgorithmStrategy algorithm_strategy
unsigned int cache_line_size
Overestimation of cache line size. Used to avoid false sharing, i.e. elements of different threads are at least this amount apart. _SequenceIndex count_minimal_n
Minimal input size for count and count_if. _SequenceIndex fill_minimal_n
Minimal input size for fill. _FindAlgorithm find_algorithm
double find_increasing_factor
Block size increase factor for find. _SequenceIndex find_initial_block_size
Initial block size for find. _SequenceIndex find_maximum_block_size
Maximal block size for find. float find_scale_factor
Block size scale-down factor with respect to current position. _SequenceIndex find_sequential_search_size
Start with looking for this many elements sequentially, for find. _SequenceIndex for_each_minimal_n
Minimal input size for for_each. _SequenceIndex generate_minimal_n
Minimal input size for generate. unsigned long long L1_cache_size
size of the L1 cache in bytes (underestimation). unsigned long long L2_cache_size
size of the L2 cache in bytes (underestimation). _SequenceIndex max_element_minimal_n
Minimal input size for max_element. _SequenceIndex merge_minimal_n
Minimal input size for merge. unsigned int merge_oversampling
Oversampling factor for merge. _SplittingAlgorithm merge_splitting
_SequenceIndex min_element_minimal_n
Minimal input size for min_element. _MultiwayMergeAlgorithm multiway_merge_algorithm
int multiway_merge_minimal_k
Oversampling factor for multiway_merge. _SequenceIndex multiway_merge_minimal_n
Minimal input size for multiway_merge. unsigned int multiway_merge_oversampling
Oversampling factor for multiway_merge. _SplittingAlgorithm multiway_merge_splitting
_SequenceIndex nth_element_minimal_n
Minimal input size for nth_element. _SequenceIndex partial_sort_minimal_n
Minimal input size for partial_sort. _PartialSumAlgorithm partial_sum_algorithm
float partial_sum_dilation
Ratio for partial_sum. Assume 'sum and write result' to be this factor slower than just 'sum'. unsigned int partial_sum_minimal_n
Minimal input size for partial_sum. double partition_chunk_share
Chunk size for partition, relative to input size. If > 0.0, this value overrides partition_chunk_size. _SequenceIndex partition_chunk_size
Chunk size for partition. _SequenceIndex partition_minimal_n
Minimal input size for partition. _SequenceIndex qsb_steals
The number of stolen ranges in load-balanced quicksort. unsigned int random_shuffle_minimal_n
Minimal input size for random_shuffle. _SequenceIndex replace_minimal_n
Minimal input size for replace and replace_if. _SequenceIndex search_minimal_n
Minimal input size for search and search_n. _SequenceIndex set_difference_minimal_n
Minimal input size for set_difference. _SequenceIndex set_intersection_minimal_n
Minimal input size for set_intersection. _SequenceIndex set_symmetric_difference_minimal_n
Minimal input size for set_symmetric_difference. _SequenceIndex set_union_minimal_n
Minimal input size for set_union. _SortAlgorithm sort_algorithm
_SequenceIndex sort_minimal_n
Minimal input size for parallel sorting. unsigned int sort_mwms_oversampling
Oversampling factor for parallel std::sort (MWMS). unsigned int sort_qs_num_samples_preset
Such many samples to take to find a good pivot (quicksort). _SequenceIndex sort_qsb_base_case_maximal_n
Maximal subsequence __length to switch to unbalanced __base case. Applies to std::sort with dynamically load-balanced quicksort. _SplittingAlgorithm sort_splitting
unsigned int TLB_size
size of the Translation Lookaside Buffer (underestimation). _SequenceIndex transform_minimal_n
Minimal input size for parallel std::transform. _SequenceIndex unique_copy_minimal_n
Minimal input size for unique_copy. _SequenceIndex workstealing_chunk_size

Detailed Description

class _Settings Run-time settings for the parallel mode including all tunable parameters.

Definition at line 123 of file settings.h.

Constructor & Destructor Documentation

__gnu_parallel::_Settings::_Settings () [inline], [explicit]

Definition at line 287 of file settings.h.

Member Function Documentation

static const _Settings & __gnu_parallel::_Settings::get () [static]

Get the global settings.

Referenced by __gnu_parallel::__find_template(), __gnu_parallel::__find_template(), __gnu_parallel::__find_template(), __gnu_parallel::__for_each_template_random_access_workstealing(), __gnu_parallel::__parallel_nth_element(), __gnu_parallel::__parallel_partial_sum(), __gnu_parallel::__parallel_partial_sum_linear(), __gnu_parallel::__parallel_partition(), __gnu_parallel::__parallel_random_shuffle_drs(), __gnu_parallel::__parallel_sort(), __gnu_parallel::__parallel_sort(), __gnu_parallel::__parallel_sort_qs_conquer(), __gnu_parallel::__qsb_local_sort_with_helping(), __gnu_parallel::__sequential_random_shuffle(), __gnu_parallel::multiway_merge_sampling_splitting(), __gnu_parallel::parallel_multiway_merge(), __gnu_parallel::parallel_sort_mwms(), and __gnu_parallel::parallel_sort_mwms_pu().

static void __gnu_parallel::_Settings::set (_Settings &) [static]

Set the global settings.

Member Data Documentation

_SequenceIndex __gnu_parallel::_Settings::accumulate_minimal_n

Minimal input size for accumulate.

Definition at line 139 of file settings.h.

unsigned int __gnu_parallel::_Settings::adjacent_difference_minimal_n

Minimal input size for adjacent_difference.

Definition at line 142 of file settings.h.

_AlgorithmStrategy __gnu_parallel::_Settings::algorithm_strategy

Definition at line 125 of file settings.h.

unsigned int __gnu_parallel::_Settings::cache_line_size

Overestimation of cache line size. Used to avoid false sharing, i.e. elements of different threads are at least this amount apart.

Definition at line 265 of file settings.h.

Referenced by __gnu_parallel::__for_each_template_random_access_workstealing().

_SequenceIndex __gnu_parallel::_Settings::count_minimal_n

Minimal input size for count and count_if.

Definition at line 145 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::fill_minimal_n

Minimal input size for fill.

Definition at line 148 of file settings.h.

_FindAlgorithm __gnu_parallel::_Settings::find_algorithm

Definition at line 130 of file settings.h.

double __gnu_parallel::_Settings::find_increasing_factor

Block size increase factor for find.

Definition at line 151 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::find_initial_block_size

Initial block size for find.

Definition at line 154 of file settings.h.

Referenced by __gnu_parallel::__find_template().

_SequenceIndex __gnu_parallel::_Settings::find_maximum_block_size

Maximal block size for find.

Definition at line 157 of file settings.h.

float __gnu_parallel::_Settings::find_scale_factor

Block size scale-down factor with respect to current position.

Definition at line 276 of file settings.h.

Referenced by __gnu_parallel::__find_template().

_SequenceIndex __gnu_parallel::_Settings::find_sequential_search_size

Start with looking for this many elements sequentially, for find.

Definition at line 160 of file settings.h.

Referenced by __gnu_parallel::__find_template(), and __gnu_parallel::__find_template().

_SequenceIndex __gnu_parallel::_Settings::for_each_minimal_n

Minimal input size for for_each.

Definition at line 163 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::generate_minimal_n

Minimal input size for generate.

Definition at line 166 of file settings.h.

unsigned long long __gnu_parallel::_Settings::L1_cache_size

size of the L1 cache in bytes (underestimation).

Definition at line 254 of file settings.h.

unsigned long long __gnu_parallel::_Settings::L2_cache_size

size of the L2 cache in bytes (underestimation).

Definition at line 257 of file settings.h.

Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__sequential_random_shuffle().

_SequenceIndex __gnu_parallel::_Settings::max_element_minimal_n

Minimal input size for max_element.

Definition at line 169 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::merge_minimal_n

Minimal input size for merge.

Definition at line 172 of file settings.h.

unsigned int __gnu_parallel::_Settings::merge_oversampling

Oversampling factor for merge.

Definition at line 175 of file settings.h.

Referenced by __gnu_parallel::multiway_merge_sampling_splitting(), and __gnu_parallel::parallel_multiway_merge().

_SplittingAlgorithm __gnu_parallel::_Settings::merge_splitting

Definition at line 133 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::min_element_minimal_n

Minimal input size for min_element.

Definition at line 178 of file settings.h.

_MultiwayMergeAlgorithm __gnu_parallel::_Settings::multiway_merge_algorithm

Definition at line 129 of file settings.h.

int __gnu_parallel::_Settings::multiway_merge_minimal_k

Oversampling factor for multiway_merge.

Definition at line 184 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::multiway_merge_minimal_n

Minimal input size for multiway_merge.

Definition at line 181 of file settings.h.

unsigned int __gnu_parallel::_Settings::multiway_merge_oversampling

Oversampling factor for multiway_merge.

Definition at line 187 of file settings.h.

_SplittingAlgorithm __gnu_parallel::_Settings::multiway_merge_splitting

Definition at line 134 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::nth_element_minimal_n

Minimal input size for nth_element.

Definition at line 190 of file settings.h.

Referenced by __gnu_parallel::__parallel_nth_element().

_SequenceIndex __gnu_parallel::_Settings::partial_sort_minimal_n

Minimal input size for partial_sort.

Definition at line 203 of file settings.h.

_PartialSumAlgorithm __gnu_parallel::_Settings::partial_sum_algorithm

Definition at line 128 of file settings.h.

float __gnu_parallel::_Settings::partial_sum_dilation

Ratio for partial_sum. Assume 'sum and write result' to be this factor slower than just 'sum'.

Definition at line 207 of file settings.h.

Referenced by __gnu_parallel::__parallel_partial_sum_linear().

unsigned int __gnu_parallel::_Settings::partial_sum_minimal_n

Minimal input size for partial_sum.

Definition at line 210 of file settings.h.

double __gnu_parallel::_Settings::partition_chunk_share

Chunk size for partition, relative to input size. If > 0.0, this value overrides partition_chunk_size.

Definition at line 197 of file settings.h.

Referenced by __gnu_parallel::__parallel_partition().

_SequenceIndex __gnu_parallel::_Settings::partition_chunk_size

Chunk size for partition.

Definition at line 193 of file settings.h.

Referenced by __gnu_parallel::__parallel_partition().

_SequenceIndex __gnu_parallel::_Settings::partition_minimal_n

Minimal input size for partition.

Definition at line 200 of file settings.h.

Referenced by __gnu_parallel::__parallel_nth_element().

_SequenceIndex __gnu_parallel::_Settings::qsb_steals

The number of stolen ranges in load-balanced quicksort.

Definition at line 270 of file settings.h.

unsigned int __gnu_parallel::_Settings::random_shuffle_minimal_n

Minimal input size for random_shuffle.

Definition at line 213 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::replace_minimal_n

Minimal input size for replace and replace_if.

Definition at line 216 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::search_minimal_n

Minimal input size for search and search_n.

Definition at line 273 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::set_difference_minimal_n

Minimal input size for set_difference.

Definition at line 219 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::set_intersection_minimal_n

Minimal input size for set_intersection.

Definition at line 222 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::set_symmetric_difference_minimal_n

Minimal input size for set_symmetric_difference.

Definition at line 225 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::set_union_minimal_n

Minimal input size for set_union.

Definition at line 228 of file settings.h.

_SortAlgorithm __gnu_parallel::_Settings::sort_algorithm

Definition at line 127 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::sort_minimal_n

Minimal input size for parallel sorting.

Definition at line 231 of file settings.h.

unsigned int __gnu_parallel::_Settings::sort_mwms_oversampling

Oversampling factor for parallel std::sort (MWMS).

Definition at line 234 of file settings.h.

Referenced by __gnu_parallel::parallel_sort_mwms(), and __gnu_parallel::parallel_sort_mwms_pu().

unsigned int __gnu_parallel::_Settings::sort_qs_num_samples_preset

Such many samples to take to find a good pivot (quicksort).

Definition at line 237 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::sort_qsb_base_case_maximal_n

Maximal subsequence __length to switch to unbalanced __base case. Applies to std::sort with dynamically load-balanced quicksort.

Definition at line 241 of file settings.h.

Referenced by __gnu_parallel::__qsb_local_sort_with_helping().

_SplittingAlgorithm __gnu_parallel::_Settings::sort_splitting

Definition at line 132 of file settings.h.

unsigned int __gnu_parallel::_Settings::TLB_size

size of the Translation Lookaside Buffer (underestimation).

Definition at line 260 of file settings.h.

Referenced by __gnu_parallel::__parallel_random_shuffle_drs(), and __gnu_parallel::__sequential_random_shuffle().

_SequenceIndex __gnu_parallel::_Settings::transform_minimal_n

Minimal input size for parallel std::transform.

Definition at line 244 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::unique_copy_minimal_n

Minimal input size for unique_copy.

Definition at line 247 of file settings.h.

_SequenceIndex __gnu_parallel::_Settings::workstealing_chunk_size

Definition at line 249 of file settings.h.

Author

Generated automatically by Doxygen for libstdc++ from the source code.

libstdc++