Namespaces
Variants

Extensions for parallelism

From cppreference.net

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> :

Algorithmes de la bibliothèque standard pour lesquels des versions parallélisées sont fournies

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)