# __gnu_parallel::_Settings Struct Reference

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

List of all members.

## Static Public Member Functions

- static const _Settings & get () throw ()
- static void set (_Settings &) throw ()

## Public Attributes

- sequence_index_t accumulate_minimal_n
- unsigned int adjacent_difference_minimal_n
- _AlgorithmStrategy algorithm_strategy
- unsigned int cache_line_size
- sequence_index_t count_minimal_n
- sequence_index_t fill_minimal_n
- _FindAlgorithm find_algorithm
- double find_increasing_factor
- sequence_index_t find_initial_block_size
- sequence_index_t find_maximum_block_size
- sequence_index_t find_sequential_search_size
- sequence_index_t for_each_minimal_n
- sequence_index_t generate_minimal_n
- unsigned long long L1_cache_size
- unsigned long long L2_cache_size
- sequence_index_t max_element_minimal_n
- sequence_index_t merge_minimal_n
- unsigned int merge_oversampling
- _SplittingAlgorithm merge_splitting
- sequence_index_t min_element_minimal_n
- _MultiwayMergeAlgorithm multiway_merge_algorithm
- int multiway_merge_minimal_k
- sequence_index_t multiway_merge_minimal_n
- unsigned int multiway_merge_oversampling
- _SplittingAlgorithm multiway_merge_splitting
- sequence_index_t nth_element_minimal_n
- sequence_index_t partial_sort_minimal_n
- _PartialSumAlgorithm partial_sum_algorithm
- float partial_sum_dilation
- unsigned int partial_sum_minimal_n
- double partition_chunk_share
- sequence_index_t partition_chunk_size
- sequence_index_t partition_minimal_n
- sequence_index_t qsb_steals
- unsigned int random_shuffle_minimal_n
- sequence_index_t replace_minimal_n
- sequence_index_t set_difference_minimal_n
- sequence_index_t set_intersection_minimal_n
- sequence_index_t set_symmetric_difference_minimal_n
- sequence_index_t set_union_minimal_n
- _SortAlgorithm sort_algorithm
- sequence_index_t sort_minimal_n
- unsigned int sort_mwms_oversampling
- unsigned int sort_qs_num_samples_preset
- sequence_index_t sort_qsb_base_case_maximal_n
- _SplittingAlgorithm sort_splitting
- unsigned int TLB_size
- sequence_index_t transform_minimal_n
- sequence_index_t unique_copy_minimal_n
- sequence_index_t workstealing_chunk_size

## Detailed Description

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

Definition at line 118 of file settings.h.

## Member Function Documentation

static const _Settings& __gnu_parallel::_Settings::get | ( |  | ) | throw ()`[static]`

Get the global settings.

Referenced by __gnu_parallel::find_template(), __gnu_parallel::for_each_template_random_access_workstealing(), __gnu_parallel::multiway_merge_sampling_splitting(), __gnu_parallel::parallel_multiway_merge(), __gnu_parallel::parallel_nth_element(), __gnu_parallel::parallel_partial_sum(), __gnu_parallel::parallel_partial_sum_linear(), __gnu_parallel::parallel_partition(), __gnu_parallel::parallel_sort(), __gnu_parallel::parallel_sort_mwms(), __gnu_parallel::parallel_sort_mwms_pu(), __gnu_parallel::parallel_sort_qs_conquer(), and __gnu_parallel::qsb_local_sort_with_helping().

static void __gnu_parallel::_Settings::set | ( | _Settings & |  | ) | throw ()`[static]`

Set the global settings.

## Member Data Documentation

sequence_index_t __gnu_parallel::_Settings::accumulate_minimal_n

Minimal input size for accumulate.

Definition at line 134 of file settings.h.

unsigned int __gnu_parallel::_Settings::adjacent_difference_minimal_n

Minimal input size for adjacent_difference.

Definition at line 137 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 260 of file settings.h.

Referenced by __gnu_parallel::for_each_template_random_access_workstealing().

sequence_index_t __gnu_parallel::_Settings::count_minimal_n

Minimal input size for count and count_if.

Definition at line 140 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::fill_minimal_n

Minimal input size for fill.

Definition at line 143 of file settings.h.

double __gnu_parallel::_Settings::find_increasing_factor

Block size increase factor for find.

Definition at line 146 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::find_initial_block_size

Initial block size for find.

Definition at line 149 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::find_maximum_block_size

Maximal block size for find.

Definition at line 152 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::find_sequential_search_size

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

Definition at line 155 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::for_each_minimal_n

Minimal input size for for_each.

Definition at line 158 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::generate_minimal_n

Minimal input size for generate.

Definition at line 161 of file settings.h.

unsigned long long __gnu_parallel::_Settings::L1_cache_size

Size of the L1 cache in bytes (underestimation).

Definition at line 249 of file settings.h.

unsigned long long __gnu_parallel::_Settings::L2_cache_size

Size of the L2 cache in bytes (underestimation).

Definition at line 252 of file settings.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::sequential_random_shuffle().

sequence_index_t __gnu_parallel::_Settings::max_element_minimal_n

Minimal input size for max_element.

Definition at line 164 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::merge_minimal_n

Minimal input size for merge.

Definition at line 167 of file settings.h.

unsigned int __gnu_parallel::_Settings::merge_oversampling

Oversampling factor for merge.

Definition at line 170 of file settings.h.

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

sequence_index_t __gnu_parallel::_Settings::min_element_minimal_n

Minimal input size for min_element.

Definition at line 173 of file settings.h.

int __gnu_parallel::_Settings::multiway_merge_minimal_k

Oversampling factor for multiway_merge.

Definition at line 179 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::multiway_merge_minimal_n

Minimal input size for multiway_merge.

Definition at line 176 of file settings.h.

unsigned int __gnu_parallel::_Settings::multiway_merge_oversampling

Oversampling factor for multiway_merge.

Definition at line 182 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::nth_element_minimal_n

Minimal input size for nth_element.

Definition at line 185 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::partial_sort_minimal_n

Minimal input size for partial_sort.

Definition at line 198 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 202 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 205 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 192 of file settings.h.

Referenced by __gnu_parallel::parallel_partition().

sequence_index_t __gnu_parallel::_Settings::partition_chunk_size

Chunk size for partition.

Definition at line 188 of file settings.h.

Referenced by __gnu_parallel::parallel_partition().

sequence_index_t __gnu_parallel::_Settings::partition_minimal_n

Minimal input size for partition.

Definition at line 195 of file settings.h.

Referenced by __gnu_parallel::parallel_nth_element().

sequence_index_t __gnu_parallel::_Settings::qsb_steals

The number of stolen ranges in load-balanced quicksort.

Definition at line 265 of file settings.h.

unsigned int __gnu_parallel::_Settings::random_shuffle_minimal_n

Minimal input size for random_shuffle.

Definition at line 208 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::replace_minimal_n

Minimal input size for replace and replace_if.

Definition at line 211 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::set_difference_minimal_n

Minimal input size for set_difference.

Definition at line 214 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::set_intersection_minimal_n

Minimal input size for set_intersection.

Definition at line 217 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::set_symmetric_difference_minimal_n

Minimal input size for set_symmetric_difference.

Definition at line 220 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::set_union_minimal_n

Minimal input size for set_union.

Definition at line 223 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::sort_minimal_n

Minimal input size for parallel sorting.

Definition at line 226 of file settings.h.

unsigned int __gnu_parallel::_Settings::sort_mwms_oversampling

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

Definition at line 229 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 232 of file settings.h.

sequence_index_t __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 236 of file settings.h.

Referenced by __gnu_parallel::qsb_local_sort_with_helping().

unsigned int __gnu_parallel::_Settings::TLB_size

Size of the Translation Lookaside Buffer (underestimation).

Definition at line 255 of file settings.h.

Referenced by __gnu_parallel::parallel_random_shuffle_drs(), and __gnu_parallel::sequential_random_shuffle().

sequence_index_t __gnu_parallel::_Settings::transform_minimal_n

Minimal input size for parallel std::transform.

Definition at line 239 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::unique_copy_minimal_n

Minimal input size for unique_copy.

Definition at line 242 of file settings.h.

The documentation for this struct was generated from the following file:

- settings.h