COMET: A High-Performance Model for Fine-Grain Composition
Comet: Un modèle de haute-performance pour la composition à grain fin
Résumé
This paper deals with the efficient combination of software components and task-based models for HPC. Task-based models are known to greatly enhance performance and performance portability while component models ease the separation of concerns and thus improves modularity and adaptability. The paper describe the C OMET programming model, a component model for HPC extended with task concepts. We demonstrate its prototype implementation built on top of the task model of OpenMP and the low level component model L2C. We evaluate the approach on five synthetic use-cases representative of common patterns from HPC applications. Experimental results show that the approach is very efficient on the use-cases. On one hand, independent software codes can be easily composed. On the other hand, fine-grained composition supports very good performance. It sometimes even outperforms classical hand-written OpenMP implementations thank to better task interleaving.
Ce rapport traite de la combinaison de modèles à composants et de modèles d’ordonnancement de tâches pour le calcul haute-performance (HPC). Les modèles d’ordonnancement de tâches sont connu pour améliorer les performances et la portabilité des performance des codes HPC tandis que les modèles à composants facilite la séparation des préoccupation et donc améliorent la modularité et l’adaptation des codes. Le rapport décrit le modèle de programmation
Comet: un modèle à composant HPC étendu avec des concepts de tâches. Nous démontrons sa mise en oeuvre utilisant le modèle de tâche OpenMP ainsi que le modèle à composant de bas niveau L2C. Nous évaluons l’approche sur cinq cas d’utilisation synthétiques représentatif des patrons de codes issues des applications HPC. Les résultats expérimentaux montrent que l’approche se révèle être très efficace sur les cas d’utilisation présentés. D’une part, la composition de des codes indépendants est facilement réalisable. D’autre part, la composition à grain fin permet
d’obtenir de très bonne performances. Les performance obtenue avec cette approche sont même parfois meilleures que celle obtenue avec un code OpenMP écrit à la main grâce à une exécution efficace entrelaçant l’exécution des tâches.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...