Performance analysis of OpenMP task-based applications
Description
OpenMP est une interface de programmation parallèle
permettant de paralléliser simplement une application
séquentielle en décrivant les boucles parallèles avec des
directives pour le compilateur. Le standard OpenMP définie
l'interface OMPT pour intercepter les
différents événements OpenMP.
Le but du projet est de concevoir de nouvelles techniques pour analyser les applications utilisant des tâches OpenMP. Exemple d'analyses à implémenter:
- Pourcentage de temps passé à exécuter des tâches vs. idle
- Analyse de la localité des tâches: distance entre le thread qui crée une tâche et celui qui l'exécute. Pourcentage de tâches qui s'exécutent en local.
- Analyse de contention pour les tâches, en se basant sur un travail préexistant [4].
- Evaluer temps passé dans le runtime OpenMP vs temps passé à exécuter des tâches
Les analyses seront à évaluer sur des suites de benchmarks OpenMP, notamment:
Modalités du projet
- Développement en C
- Logiciel libre
Mots clés
OpenMP, analyse de performance, Multithreading.
Contacts
Références