Softwarekonferenz für Parallel Programming,
Concurrency, HPC und Multicore-Systeme
Heidelberg, Print Media Academy, 29.-31. März 2017

parallel 2017 » Programm »

// DASH: Parallele C++-Programmierung mit verteilten Container-Klassen und Template-Algorithmen

Der Vortrag präsentiert eine neue Herangehensweise für die Programmierung hochparalleler Anwendungen in C++. Die DASH-Template-Bibliothek bietet die Möglichkeit zur bequemen Parallelisierung in C++, ohne den C++-Programmierstil aufzugeben und mit einem ausdrücklichen Schwerpunkt auf Performance und Lokalität. Als Grundidee bietet die DASH-Bibliothek verteilte Container-Klassen und darauf anwendbare Template-Algorithmen, sehr ähnlich zu den Gegenstücken aus der C++ STL. Diese werden mit den Mitteln der C++ 11/14-Standards realisiert und verwenden das PGAS-Modell (Partitioned Global Address Space)zum direkten Zugriff auf entfernte Speicherbereiche.

Vorkenntnisse
Der Vortrag richtet sich an C++-Programmierer. Ein grundlegendes Verständnis der parallelen Programmierung ist hilfreich, aber keine Voraussetzung zum Verständnis.

Lernziele
Der Vortrag gibt eine Einführung in DASH, einen neuen Ansatz zur parallelen Programmierung mit C++, der eine wesentliche Vereinfachung gegenüber anderen Parallelisierungsmodellen für Parallelrechner mit verteiltem Speicher bietet. Er nutzt eine höhere Abstraktion, erfordert weniger Code-Zeilen und orientiert sich am "üblichen" C++-Programmierstil. Im Vortrag werden unter anderem vorgestellt:

* die DASH-Container-Klassen mit globalen und lokalen Iteratoren
* das Konzept zum direkten Zugriff auf entfernte Daten und Datenverteilungsmuster
* die DASH-Template-Algorithmen
* lokale und globale Sichten auf Teile der verteilten Container
* ausgewählte Code- und Performance-Bespiele

Die Autoren sind außerdem an Rückmeldungen zum Konzept und zur Umsetzung der DASH-Template-Bibliothek interessiert, insbesondere zur C++-Integration und zur Parallelisierung.


// Dr. Andreas Knüpfer Dr. Andreas Knüpfer

ist Stellvertretender Direktor am Zentrum für Informationsdienste und Hochleistungsrechnen (ZIH) der TU Dresden. Seine langjährigen Forschungsgebiete sind parallele Programmiermodelle sowie Softwarewerkzeuge für die parallele Performance-Analyse. Neben vielen wissenschaftlichen Vorträgen und Veröffentlichungen hat er auch eine Vielzahl von Tutorials für Programmierer gehalten.