2 dépôts
Development of multi-core execution models and libraries specifically for the C++ language.
Distinct from C++ Implementations: Candidates focus on general implementations or tutorials; this is the domain of building parallel primitives for C++.
Explore 2 awesome GitHub repositories matching programming languages & runtimes · C++ Parallel Programming. Refine with filters or upvote what's useful.
oneTBB est une bibliothèque et un framework de parallélisme C++ conçu pour ajouter le parallélisme multi-cœur aux applications. Il fournit un modèle de parallélisme basé sur les tâches qui mappe les tâches computationnelles logiques aux cœurs matériels disponibles pour éliminer le besoin de gestion manuelle des threads. La bibliothèque fonctionne comme un outil de mise à l'échelle multi-cœur, utilisant des templates génériques pour mettre à l'échelle les opérations de parallélisme de données sur les processeurs pour une performance portable. Elle emploie un framework basé sur les tâches pour assurer que les charges de travail computationnelles sont distribuées sur les ressources matérielles. Le projet couvre le parallélisme à mémoire partagée, la planification de tâches multi-cœur et la mise à l'échelle du parallélisme de données. Il utilise un planificateur de tâches avec vol de travail (work-stealing), le découpage récursif de plages et l'équilibrage de charge dynamique pour gérer la distribution du travail sur les cœurs à l'exécution.
Provides a comprehensive framework for implementing multi-core execution in C++ applications without manual thread management.
Thrust est une bibliothèque de calcul hétérogène et une bibliothèque de modèles C++ qui fournit une collection de modèles de haut niveau pour exécuter des opérations de données parallèles. Elle fonctionne comme une bibliothèque d'algorithmes parallèles conçue pour fonctionner sur différents backends matériels, incluant les CPU multicœurs et le matériel GPU NVIDIA. Le framework utilise une implémentation header-only et une interface de politique de programmation générique pour abstraire les différences entre les modèles de mémoire et d'exécution CPU et GPU. Il emploie une abstraction de données basée sur les itérateurs pour fournir une interface uniforme d'accès aux éléments à travers la RAM hôte et la VRAM du périphérique. La bibliothèque couvre des capacités de traitement parallèle, incluant le tri de données parallèle et le traitement de réduction agrégée pour calculer des valeurs sur de grands jeux de données. Ces opérations sont gérées via une bibliothèque de programmation parallèle CUDA pour le calcul haute performance sur matériel GPU.
Enables high-performance C++ programming for data-parallel operations across heterogeneous hardware.