diff options
author | singler <singler@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-05-16 07:10:26 +0000 |
---|---|---|
committer | singler <singler@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-05-16 07:10:26 +0000 |
commit | 57aa93edcc3108b4df95126254a1f3b77e49e648 (patch) | |
tree | af2790592710b56f509e33edd028ffde9bd3a2d3 /libstdc++-v3/doc | |
parent | 34ea34c7fc9ee3be10db0581d88dac943d407e7f (diff) | |
download | gcc-57aa93edcc3108b4df95126254a1f3b77e49e648.tar.gz |
2008-05-16 Johannes Singler <singler@ira.uka.de>
* doc/xml/manual/parallel_mode.xml:
Documented the new choices, factoring out common tags.
* include/parallel/multiway_merge.h:
Place comparison functor at the end, to comply with
established convention.
(parallel_multiway_merge) Pass number of threads explicitly.
Introduce new compile-time variants, make exact splitting the
default.
* include/parallel/tags.h:
Extend exact_tag, introduce sampling_tag.
* include/parallel/merge.h:
(parallel_merge_advance) Adapt to changed interface.
* include/parallel/multiway_mergesort.h: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@135411 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/doc')
-rw-r--r-- | libstdc++-v3/doc/xml/manual/parallel_mode.xml | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/libstdc++-v3/doc/xml/manual/parallel_mode.xml b/libstdc++-v3/doc/xml/manual/parallel_mode.xml index fb439062fea..faea5a9e7f6 100644 --- a/libstdc++-v3/doc/xml/manual/parallel_mode.xml +++ b/libstdc++-v3/doc/xml/manual/parallel_mode.xml @@ -576,23 +576,35 @@ This means that the actual parallelization strategy is chosen at run-time. </para> <para> +For the following algorithms in general, we have +<code>__gnu_parallel::parallel_tag</code> and +<code>__gnu_parallel::default_parallel_tag</code>, in addition to +<code>__gnu_parallel::sequential_tag</code>. +<code>__gnu_parallel::default_parallel_tag</code> chooses the default +algorithm at compiletime, as does omitting the tag. +<code>__gnu_parallel::parallel_tag</code> postpones the decision to runtime +(see next section). +For all tags, the number of threads desired for this call can optionally be +passed to the respective tag's constructor. +</para> + +<para> +The <code>multiway_merge</code> algorithm comes with the additional choices, +<code>__gnu_parallel::exact_tag</code> and +<code>__gnu_parallel::sampling_tag</code>. +Exact and sampling are the two available splitting strategies. +</para> + +<para> For the <code>sort</code> and <code>stable_sort</code> algorithms, there are -several possible choices, -<code>__gnu_parallel::parallel_tag</code>, -<code>__gnu_parallel::default_parallel_tag</code>, +several additional choices, namely <code>__gnu_parallel::multiway_mergesort_tag</code>, <code>__gnu_parallel::multiway_mergesort_exact_tag</code>, <code>__gnu_parallel::multiway_mergesort_sampling_tag</code>, -<code>__gnu_parallel::quicksort_tag</code>, +<code>__gnu_parallel::quicksort_tag</code>, and <code>__gnu_parallel::balanced_quicksort_tag</code>. -Multiway mergesort comes with two splitting strategies for merging, therefore -the extra choice. If non is chosen, the default splitting strategy is selected. -<code>__gnu_parallel::default_parallel_tag</code> chooses the default parallel -sorting algorithm at runtime. <code>__gnu_parallel::parallel_tag</code> -postpones the decision to runtime (see next section). -The quicksort options cannot be used for <code>stable_sort</code>. -For all tags, the number of threads desired for this call can optionally be -passed to the tag's constructor. +Multiway mergesort comes with the two splitting strategies for multi-way +merging. The quicksort options cannot be used for <code>stable_sort</code>. </para> </sect3> |