STLdoc
STLdocumentation
|
#include <parallel/settings.h>
Public Member Functions | |
_Settings () | |
Static Public Member Functions | |
static _GLIBCXX_CONST const _Settings & | get () throw () |
Get the global settings. More... | |
static void | set (_Settings &) throw () |
Set the global settings. More... | |
Public Attributes | |
_AlgorithmStrategy | algorithm_strategy |
_SortAlgorithm | sort_algorithm |
_PartialSumAlgorithm | partial_sum_algorithm |
_MultiwayMergeAlgorithm | multiway_merge_algorithm |
_FindAlgorithm | find_algorithm |
_SplittingAlgorithm | sort_splitting |
_SplittingAlgorithm | merge_splitting |
_SplittingAlgorithm | multiway_merge_splitting |
_SequenceIndex | accumulate_minimal_n |
Minimal input size for accumulate. More... | |
unsigned int | adjacent_difference_minimal_n |
Minimal input size for adjacent_difference. More... | |
_SequenceIndex | count_minimal_n |
Minimal input size for count and count_if. More... | |
_SequenceIndex | fill_minimal_n |
Minimal input size for fill. More... | |
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... | |
_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... | |
_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... | |
_SequenceIndex | min_element_minimal_n |
Minimal input size for min_element. More... | |
_SequenceIndex | multiway_merge_minimal_n |
Minimal input size for multiway_merge. More... | |
int | multiway_merge_minimal_k |
Oversampling factor for multiway_merge. More... | |
unsigned int | multiway_merge_oversampling |
Oversampling factor for multiway_merge. More... | |
_SequenceIndex | nth_element_minimal_n |
Minimal input size for nth_element. More... | |
_SequenceIndex | partition_chunk_size |
Chunk size for partition. More... | |
double | partition_chunk_share |
_SequenceIndex | partition_minimal_n |
Minimal input size for partition. More... | |
_SequenceIndex | partial_sort_minimal_n |
Minimal input size for partial_sort. More... | |
float | partial_sum_dilation |
unsigned int | partial_sum_minimal_n |
Minimal input size for partial_sum. 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 | 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... | |
_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 |
_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 |
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... | |
unsigned int | TLB_size |
size of the Translation Lookaside Buffer (underestimation). More... | |
unsigned int | cache_line_size |
_SequenceIndex | qsb_steals |
The number of stolen ranges in load-balanced quicksort. More... | |
_SequenceIndex | search_minimal_n |
Minimal input size for search and search_n. More... | |
float | find_scale_factor |
Block size scale-down factor with respect to current position. More... | |
class _Settings Run-time settings for the parallel mode including all tunable parameters.
|
inlineexplicit |
|
static |
Get the global settings.
|
static |
Set the global settings.
_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.
_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).
_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 |
Oversampling factor for merge.
_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.
_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".
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.
_SequenceIndex __gnu_parallel::_Settings::partition_chunk_size |
Chunk size for partition.
_SequenceIndex __gnu_parallel::_Settings::partition_minimal_n |
Minimal input size for partition.
_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).
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.
_SplittingAlgorithm __gnu_parallel::_Settings::sort_splitting |
unsigned int __gnu_parallel::_Settings::TLB_size |
size of the Translation Lookaside Buffer (underestimation).
_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 |