1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"no"?>
2 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml"><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8" /><title>Chapter
31. Parallel Mode
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.74.0" /><meta name=
"keywords" content=
" C++ , library , parallel " /><meta name=
"keywords" content=
" ISO C++ , library " /><link rel=
"home" href=
"../spine.html" title=
"The GNU C++ Library Documentation" /><link rel=
"up" href=
"extensions.html" title=
"Part XII. Extensions" /><link rel=
"prev" href=
"bk01pt12ch30s04.html" title=
"Design" /><link rel=
"next" href=
"bk01pt12ch31s02.html" title=
"Semantics" /></head><body><div class=
"navheader"><table width=
"100%" summary=
"Navigation header"><tr><th colspan=
"3" align=
"center">Chapter
31. Parallel Mode
</th></tr><tr><td width=
"20%" align=
"left"><a accesskey=
"p" href=
"bk01pt12ch30s04.html">Prev
</a> </td><th width=
"60%" align=
"center">Part XII.
6 </th><td width=
"20%" align=
"right"> <a accesskey=
"n" href=
"bk01pt12ch31s02.html">Next
</a></td></tr></table><hr /></div><div class=
"chapter" lang=
"en" xml:
lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title"><a id=
"manual.ext.parallel_mode"></a>Chapter
31. Parallel Mode
</h2></div></div></div><div class=
"toc"><p><b>Table of Contents
</b></p><dl><dt><span class=
"sect1"><a href=
"parallel_mode.html#manual.ext.parallel_mode.intro">Intro
</a></span></dt><dt><span class=
"sect1"><a href=
"bk01pt12ch31s02.html">Semantics
</a></span></dt><dt><span class=
"sect1"><a href=
"bk01pt12ch31s03.html">Using
</a></span></dt><dd><dl><dt><span class=
"sect2"><a href=
"bk01pt12ch31s03.html#parallel_mode.using.prereq_flags">Prerequisite Compiler Flags
</a></span></dt><dt><span class=
"sect2"><a href=
"bk01pt12ch31s03.html#parallel_mode.using.parallel_mode">Using Parallel Mode
</a></span></dt><dt><span class=
"sect2"><a href=
"bk01pt12ch31s03.html#parallel_mode.using.specific">Using Specific Parallel Components
</a></span></dt></dl></dd><dt><span class=
"sect1"><a href=
"bk01pt12ch31s04.html">Design
</a></span></dt><dd><dl><dt><span class=
"sect2"><a href=
"bk01pt12ch31s04.html#manual.ext.parallel_mode.design.intro">Interface Basics
</a></span></dt><dt><span class=
"sect2"><a href=
"bk01pt12ch31s04.html#manual.ext.parallel_mode.design.tuning">Configuration and Tuning
</a></span></dt><dt><span class=
"sect2"><a href=
"bk01pt12ch31s04.html#manual.ext.parallel_mode.design.impl">Implementation Namespaces
</a></span></dt></dl></dd><dt><span class=
"sect1"><a href=
"bk01pt12ch31s05.html">Testing
</a></span></dt><dt><span class=
"bibliography"><a href=
"parallel_mode.html#parallel_mode.biblio">Bibliography
</a></span></dt></dl></div><p> The libstdc++ parallel mode is an experimental parallel
7 implementation of many algorithms the C++ Standard Library.
9 Several of the standard algorithms, for instance
10 <code class=
"function">std::sort
</code>, are made parallel using OpenMP
11 annotations. These parallel mode constructs and can be invoked by
12 explicit source declaration or by compiling existing sources with a
13 specific compiler flag.
14 </p><div class=
"sect1" lang=
"en" xml:
lang=
"en"><div class=
"titlepage"><div><div><h2 class=
"title" style=
"clear: both"><a id=
"manual.ext.parallel_mode.intro"></a>Intro
</h2></div></div></div><p>The following library components in the include
15 <code class=
"filename">numeric
</code> are included in the parallel mode:
</p><div class=
"itemizedlist"><ul type=
"disc"><li><p><code class=
"function">std::accumulate
</code></p></li><li><p><code class=
"function">std::adjacent_difference
</code></p></li><li><p><code class=
"function">std::inner_product
</code></p></li><li><p><code class=
"function">std::partial_sum
</code></p></li></ul></div><p>The following library components in the include
16 <code class=
"filename">algorithm
</code> are included in the parallel mode:
</p><div class=
"itemizedlist"><ul type=
"disc"><li><p><code class=
"function">std::adjacent_find
</code></p></li><li><p><code class=
"function">std::count
</code></p></li><li><p><code class=
"function">std::count_if
</code></p></li><li><p><code class=
"function">std::equal
</code></p></li><li><p><code class=
"function">std::find
</code></p></li><li><p><code class=
"function">std::find_if
</code></p></li><li><p><code class=
"function">std::find_first_of
</code></p></li><li><p><code class=
"function">std::for_each
</code></p></li><li><p><code class=
"function">std::generate
</code></p></li><li><p><code class=
"function">std::generate_n
</code></p></li><li><p><code class=
"function">std::lexicographical_compare
</code></p></li><li><p><code class=
"function">std::mismatch
</code></p></li><li><p><code class=
"function">std::search
</code></p></li><li><p><code class=
"function">std::search_n
</code></p></li><li><p><code class=
"function">std::transform
</code></p></li><li><p><code class=
"function">std::replace
</code></p></li><li><p><code class=
"function">std::replace_if
</code></p></li><li><p><code class=
"function">std::max_element
</code></p></li><li><p><code class=
"function">std::merge
</code></p></li><li><p><code class=
"function">std::min_element
</code></p></li><li><p><code class=
"function">std::nth_element
</code></p></li><li><p><code class=
"function">std::partial_sort
</code></p></li><li><p><code class=
"function">std::partition
</code></p></li><li><p><code class=
"function">std::random_shuffle
</code></p></li><li><p><code class=
"function">std::set_union
</code></p></li><li><p><code class=
"function">std::set_intersection
</code></p></li><li><p><code class=
"function">std::set_symmetric_difference
</code></p></li><li><p><code class=
"function">std::set_difference
</code></p></li><li><p><code class=
"function">std::sort
</code></p></li><li><p><code class=
"function">std::stable_sort
</code></p></li><li><p><code class=
"function">std::unique_copy
</code></p></li></ul></div></div><div class=
"bibliography"><div class=
"titlepage"><div><div><h2 class=
"title"><a id=
"parallel_mode.biblio"></a>Bibliography
</h2></div></div></div><div class=
"biblioentry"><a id=
"id479570"></a><p><span class=
"title"><i>
17 Parallelization of Bulk Operations for STL Dictionaries
18 </i>.
</span><span class=
"author"><span class=
"firstname">Johannes
</span> <span class=
"surname">Singler
</span>.
</span><span class=
"author"><span class=
"firstname">Leonor
</span> <span class=
"surname">Frias
</span>.
</span><span class=
"copyright">Copyright ©
2007 .
</span><span class=
"publisher"><span class=
"publishername">
19 Workshop on Highly Parallel Processing on a Chip (HPPC)
2007. (LNCS)
20 .
</span></span></p></div><div class=
"biblioentry"><a id=
"id479616"></a><p><span class=
"title"><i>
21 The Multi-Core Standard Template Library
22 </i>.
</span><span class=
"author"><span class=
"firstname">Johannes
</span> <span class=
"surname">Singler
</span>.
</span><span class=
"author"><span class=
"firstname">Peter
</span> <span class=
"surname">Sanders
</span>.
</span><span class=
"author"><span class=
"firstname">Felix
</span> <span class=
"surname">Putze
</span>.
</span><span class=
"copyright">Copyright ©
2007 .
</span><span class=
"publisher"><span class=
"publishername">
23 Euro-Par
2007: Parallel Processing. (LNCS
4641)
24 .
</span></span></p></div></div></div><div class=
"navfooter"><hr /><table width=
"100%" summary=
"Navigation footer"><tr><td width=
"40%" align=
"left"><a accesskey=
"p" href=
"bk01pt12ch30s04.html">Prev
</a> </td><td width=
"20%" align=
"center"><a accesskey=
"u" href=
"extensions.html">Up
</a></td><td width=
"40%" align=
"right"> <a accesskey=
"n" href=
"bk01pt12ch31s02.html">Next
</a></td></tr><tr><td width=
"40%" align=
"left" valign=
"top">Design
</td><td width=
"20%" align=
"center"><a accesskey=
"h" href=
"../spine.html">Home
</a></td><td width=
"40%" align=
"right" valign=
"top"> Semantics
</td></tr></table></div></body></html>