Critical-Path Analysis and Optimization Guidance for CUDA Programs
- Date
- Dec 17, 2013
- Time
- 9:30 AM - 10:30 AM
- Speaker
- Felix Schmitt
- Language
- de
- Main Topic
- Informatik
- Other Topics
- Informatik
- Description
- Die aktuelle dominierende Herausforderung im Hochleistungsrechnen ist die Entwicklung paralleler Algorithmen, welche bis in den Petaflop Bereich skalieren. Ein etablierter Ansatz ist die Verwendung massiv-paralleler Grafikprozessoren (GPUs), häufig unter Verwendung von NVIDIAs Compute Unified Device Architecture (CUDA). CUDA bietet eine umfangreiche Programmierschnittstelle und erzielt hohe Rechenleistung je GPU. Damit Programme die verfügbaren Ressourcen auf GPU und CPU effizient nutzen, müssen diese jedoch häufig mehrere Parallelisierungsebenen gleichzeitig verwenden. Aus dieser steigenden Programmkomplexität ergibt sich die Notwendigkeit für leistungsfähige Werkzeuge, sowohl für die Programmentwicklung als auch für deren Leistungsanalyse.
Ziel meiner Arbeit ist die Bestimmung des kritischen Pfades von heterogenen CUDA- und MPI-Programmen sowie die Unterstützung des Entwicklers mittels Optimierungsvorschlägen, basierend auf einem Modell der Interaktionen und Abhängigkeiten zwischen CUDAs CPU-und GPU-Funktionen. Auf der Grundlage dieses regelbasierten Modells und der Aufzeichnung einer Programmausführung kann ein Abhängigkeitsgraph konstruiert werden. In diesem lässt sich der kritische Pfad bestimmen, welcher die Laufzeit des Programms dominiert. An Punkten an denen eine Programmspur auf Grund von Synchronisation auf eine andere warten muss und verzögert wird, können Wartestellen eingefügt werden. Kombiniert mit den in der Analyse ermittelten Leitungsdaten können hypothetische Programmabläufe vorhergesagt und verglichen werden. Schlussendlich wird dem Entwickler eine Liste mit vielversprechen- den Optimierungsstellen, zu erwartenden Leistungsgewinnen und detaillierte Informationen zu Programmabhängigkeiten angeboten. Während der Entwicklung meiner Arbeit wurden zufällig generierte Eingabedaten sowie praktische Beispiele genutzt, um die berechneten Abhängigkeiten zu verifizieren und vorhergesagte Leistungssteigerungen zu validieren.
- -----------------
Last modified: Dec 17, 2013, 8:37:02 AM
Location
TUD Andreas-Pfitzmann-Bau (Computer Science) (INF 1004 (Ratssaal))Nöthnitzer Straße4601069Dresden
- Homepage
- https://navigator.tu-dresden.de/etplan/apb/00
Organizer
TUD InformatikNöthnitzer Straße4601069Dresden
- Phone
- +49 (0) 351 463-38465
- Fax
- +49 (0) 351 463-38221
- Homepage
- http://www.inf.tu-dresden.de
Legend
- Biology
- Chemistry
- Civil Eng., Architecture
- Computer Science
- Economics
- Electrical and Computer Eng.
- Environmental Sciences
- for Pupils
- Law
- Linguistics, Literature and Culture
- Materials
- Mathematics
- Mechanical Engineering
- Medicine
- Physics
- Psychology
- Society, Philosophy, Education
- Spin-off/Transfer
- Traffic
- Training
- Welcome