Extensions for parallelism
Las Extensiones de C++ para Paralelismo, ISO/IEC TS 19570:2015 define los siguientes componentes nuevos para la biblioteca estándar de C++:
Contenidos |
Políticas de ejecución
El TS de paralelismo describe tres políticas de ejecución:
sequential
,
parallel
, y
parallel+vector
, y proporciona tipos y objetos de políticas de ejecución correspondientes. Los usuarios pueden seleccionar una política de ejecución estáticamente invocando un algoritmo paralelo con un objeto de política de ejecución del tipo correspondiente, o dinámicamente usando la clase de borrado de tipos
execution_policy
.
Las implementaciones pueden definir políticas de ejecución adicionales como una extensión. La semántica de los algoritmos paralelos invocados con un objeto de política de ejecución de tipo definido por la implementación está definida por la implementación.
|
Definido en el encabezado
<experimental/execution_policy>
|
|
|
tipos de políticas de ejecución
(clase) |
|
|
objetos globales de políticas de ejecución
(constante) |
|
|
política de ejecución dinámica
(clase) |
|
|
comprobar si una clase representa una política de ejecución
(plantilla de clase) |
|
Listas de excepciones
|
Definido en el encabezado
<experimental/exception_list>
|
|
|
excepciones generadas durante ejecuciones paralelas
(clase) |
|
Versiones paralelizadas de algoritmos existentes
El TS proporciona versiones paralelizadas de los siguientes 69 algoritmos de <algorithm>, <numeric> y <memory>:
Nuevos algoritmos
|
Definido en el encabezado
<experimental/algorithm>
|
|
|
similar a
std::for_each
excepto que retorna void
(plantilla de función) |
|
|
aplica un objeto función a los primeros n elementos de una secuencia
(plantilla de función) |
|
|
Definido en el encabezado
<experimental/numeric>
|
|
|
(parallelism TS)
|
similar a
std::accumulate
, excepto fuera de orden
(plantilla de función) |
|
similar a
std::partial_sum
, excluye el i-ésimo elemento de entrada de la i-ésima suma
(plantilla de función) |
|
|
similar a
std::partial_sum
, incluye el i-ésimo elemento de entrada en la i-ésima suma
(plantilla de función) |
|
|
(parallelism TS)
|
aplica un funtor, luego reduce fuera de orden
(plantilla de función) |
|
aplica un funtor, luego calcula un escaneo exclusivo
(plantilla de función) |
|
|
aplica un funtor, luego calcula un escaneo inclusivo
(plantilla de función) |
|