GNU g++  v5.2.1
GNU Standard C++
__gnu_parallel::_Settings Struct Reference

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

#include <settings.h>

Collaboration diagram for __gnu_parallel::_Settings:

Public Member Functions

 _Settings ()
 

Static Public Member Functions

static _GLIBCXX_CONST const _Settingsget () throw ()
 Get the global settings. More...
 
static void set (_Settings &) throw ()
 Set the global settings. More...
 

Public Attributes

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

Detailed Description

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

Constructor & Destructor Documentation

__gnu_parallel::_Settings::_Settings ( )
inlineexplicit

Member Function Documentation

static void __gnu_parallel::_Settings::set ( _Settings )
throw (
)
static

Set the global settings.

Member Data Documentation

_SequenceIndex __gnu_parallel::_Settings::accumulate_minimal_n

Minimal input size for accumulate.

unsigned int __gnu_parallel::_Settings::adjacent_difference_minimal_n

Minimal input size for adjacent_difference.

_AlgorithmStrategy __gnu_parallel::_Settings::algorithm_strategy
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.

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.

_SequenceIndex __gnu_parallel::_Settings::fill_minimal_n

Minimal input size for fill.

_FindAlgorithm __gnu_parallel::_Settings::find_algorithm
double __gnu_parallel::_Settings::find_increasing_factor

Block size increase factor for find.

_SequenceIndex __gnu_parallel::_Settings::find_initial_block_size

Initial block size for find.

_SequenceIndex __gnu_parallel::_Settings::find_maximum_block_size

Maximal block size for find.

float __gnu_parallel::_Settings::find_scale_factor

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

_SequenceIndex __gnu_parallel::_Settings::find_sequential_search_size

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

_SequenceIndex __gnu_parallel::_Settings::for_each_minimal_n

Minimal input size for for_each.

_SequenceIndex __gnu_parallel::_Settings::generate_minimal_n

Minimal input size for generate.

unsigned long long __gnu_parallel::_Settings::L1_cache_size

size of the L1 cache in bytes (underestimation).

unsigned long long __gnu_parallel::_Settings::L2_cache_size

size of the L2 cache in bytes (underestimation).

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.

_SequenceIndex __gnu_parallel::_Settings::merge_minimal_n

Minimal input size for merge.

unsigned int __gnu_parallel::_Settings::merge_oversampling
_SplittingAlgorithm __gnu_parallel::_Settings::merge_splitting
_SequenceIndex __gnu_parallel::_Settings::min_element_minimal_n

Minimal input size for min_element.

_MultiwayMergeAlgorithm __gnu_parallel::_Settings::multiway_merge_algorithm
int __gnu_parallel::_Settings::multiway_merge_minimal_k

Oversampling factor for multiway_merge.

_SequenceIndex __gnu_parallel::_Settings::multiway_merge_minimal_n

Minimal input size for multiway_merge.

unsigned int __gnu_parallel::_Settings::multiway_merge_oversampling

Oversampling factor for multiway_merge.

_SplittingAlgorithm __gnu_parallel::_Settings::multiway_merge_splitting
_SequenceIndex __gnu_parallel::_Settings::nth_element_minimal_n

Minimal input size for nth_element.

Referenced by __gnu_parallel::__parallel_nth_element().

_SequenceIndex __gnu_parallel::_Settings::partial_sort_minimal_n

Minimal input size for partial_sort.

_PartialSumAlgorithm __gnu_parallel::_Settings::partial_sum_algorithm
float __gnu_parallel::_Settings::partial_sum_dilation

Ratio for partial_sum.

Assume "sum and write result" to be this factor slower than just "sum".

Referenced by __gnu_parallel::__parallel_partial_sum_linear().

unsigned int __gnu_parallel::_Settings::partial_sum_minimal_n

Minimal input size for partial_sum.

double __gnu_parallel::_Settings::partition_chunk_share

Chunk size for partition, relative to input size.

If > 0.0, this value overrides partition_chunk_size.

Referenced by __gnu_parallel::__parallel_partition().

_SequenceIndex __gnu_parallel::_Settings::partition_chunk_size

Chunk size for partition.

Referenced by __gnu_parallel::__parallel_partition().

_SequenceIndex __gnu_parallel::_Settings::partition_minimal_n

Minimal input size for partition.

Referenced by __gnu_parallel::__parallel_nth_element().

_SequenceIndex __gnu_parallel::_Settings::qsb_steals

The number of stolen ranges in load-balanced quicksort.

unsigned int __gnu_parallel::_Settings::random_shuffle_minimal_n

Minimal input size for random_shuffle.

_SequenceIndex __gnu_parallel::_Settings::replace_minimal_n

Minimal input size for replace and replace_if.

_SequenceIndex __gnu_parallel::_Settings::search_minimal_n

Minimal input size for search and search_n.

_SequenceIndex __gnu_parallel::_Settings::set_difference_minimal_n

Minimal input size for set_difference.

_SequenceIndex __gnu_parallel::_Settings::set_intersection_minimal_n

Minimal input size for set_intersection.

_SequenceIndex __gnu_parallel::_Settings::set_symmetric_difference_minimal_n

Minimal input size for set_symmetric_difference.

_SequenceIndex __gnu_parallel::_Settings::set_union_minimal_n

Minimal input size for set_union.

_SortAlgorithm __gnu_parallel::_Settings::sort_algorithm
_SequenceIndex __gnu_parallel::_Settings::sort_minimal_n

Minimal input size for parallel sorting.

unsigned int __gnu_parallel::_Settings::sort_mwms_oversampling

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

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).

_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.

Referenced by __gnu_parallel::__qsb_local_sort_with_helping().

_SplittingAlgorithm __gnu_parallel::_Settings::sort_splitting
unsigned int __gnu_parallel::_Settings::TLB_size

size of the Translation Lookaside Buffer (underestimation).

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.

_SequenceIndex __gnu_parallel::_Settings::unique_copy_minimal_n

Minimal input size for unique_copy.

_SequenceIndex __gnu_parallel::_Settings::workstealing_chunk_size

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