You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
N4706 is the proposed working draft of Parallelism TS Version 2. It contains changes to the Parallelism TS as directed by the committee at the Albuquerque meeting.
12
+
N4725 is the proposed working draft of Parallelism TS Version 2. It contains editorial changes to the Parallelism TS.
13
13
14
-
N4706 updates the previous draft, N4696, published in the pre-Toronto mailing.
15
-
16
-
# Technical Changes
17
-
18
-
* Apply P0776R1 - Rebase the Parallelism TS onto the C++17 Standard
19
-
* Apply P0075R2 - Template Library for Parallel For Loops
14
+
N4725 updates the previous draft, N4706, published in the post-Toronto mailing.
20
15
21
16
# Acknowledgements
22
17
23
-
Thanks to Alisdair Meredith and Pablo Halpern for reviewing these changes.
18
+
Thanks to Pablo Halpern and Matthias Kretz for suggesting editorial changes.
<p><cxx-note>This overrides the usual guarantee from the C++ Standard, <cxx-refin="cxx" to="intro.execution"></cxx-ref> [intro.execution] that function executions do not overlap with one another.</cxx-note></p>
40
41
41
-
<p>During the execution of a parallel algorithm with the <code>experimental::execution::unsequenced_policy</code> policy, if the invocation of an element access function exits via an uncaught exception, <code>terminate()</code>shall be called.</p>
42
+
<p>During the execution of a parallel algorithm with the <code>experimental::execution::unsequenced_policy</code> policy, if the invocation of an element access function exits via an uncaught exception, <code>terminate()</code>will be called.</p>
<p>The class <code>vector_policy</code> is an execution policy type used as a unique type to disambiguate parallel algorithm overloading and indicate that a parallel algorithm's execution may be vectorized. Additionally, such vectorization will result in an execution that respects the sequencing constraints of wavefront application ([parallel.alg.general.wavefront]). <cxx-note>The implementation thus makes stronger guarantees than for <code>unsequenced_policy</code>, for example.</cxx-note></p>
53
54
54
-
<p>The invocations of element access functions in parallel algorithms invoked with an execution policy of type <code>vector_policy</code> are permitted to execute in unordered fashion in the calling thread, unsequenced with respect to one another within the calling thread, subject to the sequencing constraints of wavefront application (<cxx-refto="parallel.alg.general.wavefront"></cxx-ref>) for the last argument to <code>for_loop</code> or<code>for_loop_strided</code>.</p>
55
+
<p>The invocations of element access functions in parallel algorithms invoked with an execution policy of type <code>vector_policy</code> are permitted to execute in unordered fashion in the calling thread, unsequenced with respect to one another within the calling thread, subject to the sequencing constraints of wavefront application (<cxx-refto="parallel.alg.general.wavefront"></cxx-ref>) for the last argument to <code>for_loop</code>, <code>for_loop_n</code>,<code>for_loop_strided</code>, or <code>for_loop_strided_n</code>.</p>
55
56
56
-
<p>During the execution of a parallel algorithm with the <code>experimental::execution::vector_policy</code> policy, if the invocation of an element access function exits via an uncaught exception, <code>terminate()</code>shall be called.</p>
57
+
<p>During the execution of a parallel algorithm with the <code>experimental::execution::vector_policy</code> policy, if the invocation of an element access function exits via an uncaught exception, <code>terminate()</code>will be called.</p>
<p>The header <code><experimental/execution></code> declares a global object associated with each type of execution policy defined by this Technical Specification.</p>
0 commit comments