Extensions for parallelism, version 2 (original) (raw)
Extensions for parallelism v2
The C++ Extensions for Parallelism Version 2, ISO/IEC TS 19570:2018 defines the following new components for the C++ standard library:
Contents
- 1 Parallel exceptions
- 2 Execution policies
- 3 Parallel algorithms
- 4 Task Block
- 5 Data-Parallel Types
- 6 Feature test macros
[edit] Parallel exceptions
[edit] Execution policies
[edit] Parallel algorithms
[edit] Task Block
[edit] Data-Parallel Types
| | data-parallel vector type (class template) [edit] | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | data-parallel type with the element type bool (class template) [edit] |
[edit] Feature test macros
| Defined in header <experimental/task_block> | |
|---|---|
| __cpp_lib_experimental_parallel_task_block | a value of at least 201711 indicates that the task block functionality is supported (macro constant) |
| Defined in header <experimental/execution> | |
| __cpp_lib_experimental_execution_vector_policy | a value of at least 201711 indicates that the vector and wavefront policies are supported (macro constant) |
| Defined in header <experimental/algorithm> | |
| __cpp_lib_experimental_parallel_for_loop | a value of at least 201711 indicates that the for_loop class of algorithms is supported (macro constant) |
| Defined in header <experimental/simd> | |
| __cpp_lib_experimental_parallel_simd | a value of at least 201803 indicates that the data-parallel types library is supported (macro constant) |