Formation au profilage parallèle
Lundi 27 Juin 2016 de 09h00 à 17h00
Campus TERATEC – Bruyères-le-Chatel
Afin de satisfaire les besoins des scientifiques dans l’évaluation des performances de leurs applications, nous présentons les outils de profilage TAU, ParaTools ThreadSpotter et MALP en complément d’autres outils tels que PAPI, Score-P et Vampir.
Cet atelier se concentrera sur la collecte des données de performance, l’analyse et l’optimisation. Après une présentation et une démonstration de la facilité avec laquelle les données de performance (profils et traces) peuvent être collectées grâce à l’instrumentation automatique de TAU (Tuning and Analysis Utility), l’atelier couvrira l’analyse de ces données et la recherche des sections de code inefficaces.
L’atelier comprendra des exemples de codes illustrants les différentes instrumentations et les possibilités de mesure proposées. Les outils de profilage couvriront des support exécutifs parallèles tels que MPC, MPI, OpenMP, pthread, CUDA et OpenCL.
Les sujets suivants seront couverts : la génération de profils et traces comprenant des métriques d’utilisation mémoire, les entrée-sorties (I/O) et les compteurs de performance par le biais de PAPI. Les compteurs de performance permettent d’identifier non seulement quelles sont les routines qui prennent le plus de temps, mais pourquoi ? Par exemple, du fait de défauts de cache, de défauts de page, d’un surplus de calculs d’adresses ou d’une mauvaises prédiction de branchement. Des techniques avancées d’instrumentation incluant l’instrumentation OpenMP aussi bien pour les implémentations GNU GOMP que Intel OMPT seront présentées.
L’analyse des données de performance avec ParaProf et PerfExplorer fera l’objet d’une démonstration reposant sur la base de donnée de performance de TAU (TAUdb). L’atelier comprendra également des analyses inter-expériences telle que la comparaison des effets des architectures multi-coeurs sur la performance des codes. Nous tenterons de collecter et d’analyser les données de performance des codes utilisateurs lors de la mise en application (hands-on). S’ils le souhaitent, les utilisateurs peuvent contacter les intervenants afin de préparer en avance la collecte de ces données pour gagner du temps lors de l’atelier.
L’outil MALP orienté MPI, permet de finement suivre le comportement d’un application en termes d’équilibrage de charge et de passage à l’échelle. Nous présenterons en particulier une méthode de qualification des variations spatiales et temporelles des sections de codes — ceci dans le but d’étudier l’équilibrage de charge.
Enfin, l’outil ParaTools ThreadSpotter permet aux développeurs d’identifier des défauts aussi bien au niveau de la mémoire que des flots d’exécution (threads) par le biais d’un rapport détaillé comprenant des propositions de solutions. TAU et ThreadSpotter sont tous deux utiles dans le processus de profilage.
L’atelier comprendra des sessions de mise en application et la démonstration des outils.
Agenda:
09h00 – 10h00 — Principe du profilage parallèle et tour d’horizon des approches
10h00 – 12h00 — Présentation des méthodes d’instrumentation et de mesure12h00 – 13h00 — Repas (Offert aux participants)
13h00 – 15h00 — Instrumenter MPI (MALP, TAU, Score-P)
15h00 – 15h30 — Instrumenter OpenMP
15h30 – 16h00 — Qualifier les performances coeurs (Thread-Spotter)
16h00 – 17h00 — Application des outils aux codes utilisateurs
17h00 – — Possibilité de répondre aux questions spécifiques
A propos du formateur:
Dr. Sameer Shende est le directeur du laboratoire de recherche en performance (Performance Research Laboratory) à l’Université d’Oregon et le directeur de ParaTools SAS. Il a contribué au développement du système d’analyse de performance TAU(R) et au projet de base de donnée de performance (PDT) à l’Université d’Oregon. Ses domaines de prédilection sont l’instrumentation et l’analyse de performance, les outils de profilage, les optimisations de compilateur, les bibliothèque de support exécutif et de communication
Parallel Profiling Workshop
Monday 27 June 2016 de 09h00 à 17h00
Campus TERATEC – Bruyères-le-Chatel
To meet the needs of computational scientists to evaluate the performance of their parallel, scientific applica-tions, we present the TAU performance evaluation tool, ParaTools ThreadSpotter and MALP along with external tools such as PAPI, Score-P, and Vampir.
This workshop will focus on performance data collection, analysis, and performance optimization. After de-scribing and demonstrating how performance data (both profile and trace data) can be collected in a straight-forward manner using TAU’s (Tuning and Analysis Utilities) automated source and binary instrumentation, the workshop will cover how to analyze the performance data collected and drill down to find performance bottlenecks and determine their causes.
The workshop will include some sample codes that illustrate the different instrumentation and measurement choices available to the users. The performance evaluation tools will cover parallel runtime systems such as MPC, MPI, OpenMP, pthread, CUDA, and OpenCL.
Topics will cover generating performance profiles and traces with memory utilization metrics, I/O and hardware performance counters data using PAPI. Hardware counter data can show not only which routines are taking the most time, but why? For example, because of cache misses, TLB misses, excess address arithmetic, or poor branch prediction behavior. Advanced instrumentation techniques including OpenMP instrumentation using the GNU GOMP and Intel OMPT packages will be introduced.
Performance data analysis using ParaProf and PerfExplorer will be demonstrated using the TAU’s performance database (TAUdb). The workshop will also feature cross experiment analysis including comparing the effects of multi-core architectures on code performance. We will attempt to collect and analyze performance data for additional user codes during the hands-on portion of the workshop. Users and developers are welcome to contact the instructor ahead of time to begin collecting data so as to have it on hand for the workshop.
The MPI oriented MALP tool allows the precise tracking of balancing and scalability issues. We will present in particular a method allowing the tracking of both spatial and temporal imbalance — this in purpose of dia-gnosing load-balancing issues.
Eventually, the ParaTools ThreadSpotter tool can focus the programmer’s attention to specific memory and threading issues along with a detailed report on how to rectify the errors. Both TAU and ParaTools Thread-Spotter can help in the process of performance diagnosis.
The workshop will include hands-on sessions and demonstration of tools.
Agenda:
09h00 – 10h00 — Parallel Profiling principles and overview of profiling approaches
10h00 – 12h00 — Introduction of measurement and instrumentation methodologies12h00 – 13h00 — Meal (complimentary to all participants)
13h00 – 15h00 — How to instrument MPI (MALP, TAU, Score-P)
15h00 – 15h30 — How to instrument OpenMP (TAU+OMPT)
15h30 – 16h00 — Looking at core-level performance (Thread-Spotter)
16h00 – 17h00 — Using profiling tools on user’s codes
17h – — Possibility to answer user-specific questions
About the Presenter:
Dr. Sameer Shende is the director of the Performance Research Laboratory at the University of Oregon and the President of ParaTools SAS. He contributed to the development of the perfor-mance engineering tools TAU(R) and to the performance database project (PDT) at the University of Oregon. His domain of expertise cover instrumentation and performance analysis, profiling tools, compiler level optimizations, execution and communication runtimes.