# __gnu_parallel::_Settings Struct Reference

List of all members.

## Detailed Description

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

Definition at line 124 of file settings.h.

## Public Member Functions

- _Settings ()

## 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

## Member Function Documentation

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

Get the global settings.

Referenced by std::__parallel::accumulate_switch(), std::__parallel::adjacent_difference_switch(), std::__parallel::count_if_switch(), std::__parallel::count_switch(), __gnu_parallel::find_template(), std::__parallel::for_each_switch(), std::__parallel::generate_switch(), std::__parallel::inner_product_switch(), std::__parallel::max_element_switch(), std::__parallel::merge_switch(), std::__parallel::min_element_switch(), std::__parallel::nth_element(), __gnu_parallel::parallel_partial_sum(), __gnu_parallel::parallel_sort(), __gnu_parallel::parallel_sort_qs_conquer(), std::__parallel::partial_sort(), std::__parallel::partial_sum_switch(), std::__parallel::partition_switch(), std::__parallel::random_shuffle(), std::__parallel::replace_if_switch(), std::__parallel::set_difference_switch(), std::__parallel::set_intersection_switch(), std::__parallel::set_symmetric_difference_switch(), std::__parallel::set_union_switch(), std::__parallel::sort(), std::__parallel::stable_sort(), std::__parallel::transform1_switch(), std::__parallel::transform2_switch(), and std::__parallel::unique_copy_switch().

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 140 of file settings.h.

unsigned int __gnu_parallel::_Settings::adjacent_difference_minimal_n

Minimal input size for adjacent_difference.

Definition at line 143 of file settings.h.

unsigned int __gnu_parallel::_Settings::cache_line_size

amount apart.

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

sequence_index_t __gnu_parallel::_Settings::fill_minimal_n

Minimal input size for fill.

Definition at line 149 of file settings.h.

double __gnu_parallel::_Settings::find_increasing_factor

Block size increase factor for find.

Definition at line 152 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::find_initial_block_size

Initial block size for find.

Definition at line 155 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::find_maximum_block_size

Maximal block size for find.

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

sequence_index_t __gnu_parallel::_Settings::for_each_minimal_n

Minimal input size for for_each.

Definition at line 164 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::generate_minimal_n

Minimal input size for generate.

Definition at line 167 of file settings.h.

unsigned long long __gnu_parallel::_Settings::L1_cache_size

Size of the L1 cache in bytes (underestimation).

Definition at line 255 of file settings.h.

unsigned long long __gnu_parallel::_Settings::L2_cache_size

Size of the L2 cache in bytes (underestimation).

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

sequence_index_t __gnu_parallel::_Settings::merge_minimal_n

Minimal input size for merge.

Definition at line 173 of file settings.h.

unsigned int __gnu_parallel::_Settings::merge_oversampling

Oversampling factor for merge.

Definition at line 176 of file settings.h.

Referenced by __gnu_parallel::parallel_multiway_merge().

sequence_index_t __gnu_parallel::_Settings::min_element_minimal_n

Minimal input size for min_element.

Definition at line 179 of file settings.h.

int __gnu_parallel::_Settings::multiway_merge_minimal_k

Oversampling factor for multiway_merge.

Definition at line 185 of file settings.h.

Referenced by __gnu_parallel::multiway_merge(), and __gnu_parallel::multiway_merge_sentinel().

sequence_index_t __gnu_parallel::_Settings::multiway_merge_minimal_n

Minimal input size for multiway_merge.

Definition at line 182 of file settings.h.

Referenced by __gnu_parallel::multiway_merge(), and __gnu_parallel::multiway_merge_sentinel().

unsigned int __gnu_parallel::_Settings::multiway_merge_oversampling

Oversampling factor for multiway_merge.

Definition at line 188 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::nth_element_minimal_n

Minimal input size for nth_element.

Definition at line 191 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::partial_sort_minimal_n

Minimal input size for partial_sort.

Definition at line 204 of file settings.h.

float __gnu_parallel::_Settings::partial_sum_dilation

this factor slower than just "sum".

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

double __gnu_parallel::_Settings::partition_chunk_share

this value overrides partition_chunk_size.

Definition at line 198 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 194 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 201 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::qsb_steals

The number of stolen ranges in load-balanced quicksort.

Definition at line 271 of file settings.h.

unsigned int __gnu_parallel::_Settings::random_shuffle_minimal_n

Minimal input size for random_shuffle.

Definition at line 214 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::replace_minimal_n

Minimal input size for replace and replace_if.

Definition at line 217 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::set_difference_minimal_n

Minimal input size for set_difference.

Definition at line 220 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::set_intersection_minimal_n

Minimal input size for set_intersection.

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

sequence_index_t __gnu_parallel::_Settings::set_union_minimal_n

Minimal input size for set_union.

Definition at line 229 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::sort_minimal_n

Minimal input size for parallel sorting.

Definition at line 232 of file settings.h.

unsigned int __gnu_parallel::_Settings::sort_mwms_oversampling

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

Definition at line 235 of file settings.h.

Referenced by __gnu_parallel::parallel_sort_mwms().

unsigned int __gnu_parallel::_Settings::sort_qs_num_samples_preset

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

Definition at line 238 of file settings.h.

sequence_index_t __gnu_parallel::_Settings::sort_qsb_base_case_maximal_n

Applies to std::sort with dynamically load-balanced quicksort.

Definition at line 242 of file settings.h.

unsigned int __gnu_parallel::_Settings::TLB_size

Size of the Translation Lookaside Buffer (underestimation).

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

sequence_index_t __gnu_parallel::_Settings::unique_copy_minimal_n

Minimal input size for unique_copy.

Definition at line 248 of file settings.h.

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

- settings.h