Extensions for parallelism
Les Extensions C++ pour le Parallelisme, ISO/IEC TS 19570:2015 définissent les nouveaux composants suivants pour la bibliothèque standard C++ :
Table des matières |
Politiques d'exécution
Le TS de parallélisme décrit trois politiques d'exécution :
séquentielle
,
parallèle
, et
parallèle+vectorielle
, et fournit les types et objets de politique d'exécution correspondants. Les utilisateurs peuvent sélectionner une politique d'exécution statiquement en invoquant un algorithme parallèle avec un objet de politique d'exécution du type correspondant, ou dynamiquement en utilisant la classe d'effacement de type
execution_policy
.
Les implémentations peuvent définir des politiques d'exécution supplémentaires en tant qu'extension. La sémantique des algorithmes parallèles invoqués avec un objet de politique d'exécution de type défini par l'implémentation est spécifique à l'implémentation.
|
Défini dans l'en-tête
<experimental/execution_policy>
|
|
|
types de politiques d'exécution
(classe) |
|
|
objets globaux de politique d'exécution
(constante) |
|
|
politique d'exécution dynamique
(classe) |
|
|
tester si une classe représente une politique d'exécution
(modèle de classe) |
|
Listes d'exceptions
|
Défini dans l'en-tête
<experimental/exception_list>
|
|
|
exceptions levées durant les exécutions parallèles
(classe) |
|
Versions parallélisées des algorithmes existants
Le TS fournit des versions parallélisées des 69 algorithmes suivants issus de <algorithm>, <numeric> et <memory> :
Nouveaux algorithmes
|
Défini dans l'en-tête
<experimental/algorithm>
|
|
|
similaire à
std::for_each
mais retourne void
(modèle de fonction) |
|
|
applique un objet fonction aux n premiers éléments d'une séquence
(modèle de fonction) |
|
|
Défini dans l'en-tête
<experimental/numeric>
|
|
|
(parallelism TS)
|
similaire à
std::accumulate
, mais en désordre
(modèle de fonction) |
|
similaire à
std::partial_sum
, exclut le i
ème
élément d'entrée de la i
ème
somme
(modèle de fonction) |
|
|
similaire à
std::partial_sum
, inclut le i
ème
élément d'entrée dans la i
ème
somme
(modèle de fonction) |
|
|
(parallelism TS)
|
applique un foncteur, puis réduit en désordre
(modèle de fonction) |
|
applique un foncteur, puis calcule un scan exclusif
(modèle de fonction) |
|
|
applique un foncteur, puis calcule un scan inclusif
(modèle de fonction) |
|