Trainingskurs "Fortgeschrittene Parallelprogrammierung mit MPI und OpenMP"

Anfang
28.11.2016 08:00 Uhr
Ende
30.11.2016 15:30 Uhr
Veranstaltungsort
Jülich Supercomputing Centre, Ausbildungraum 1, Geb. 16.3, R. 213a

(Kurs-Nr. 91/2016 im Trainingsprogramm des Forschungszentrums)

Zielgruppe:

Supercomputernutzer, die ihre parallelen Anwendungen mit MPI oder OpenMP optimieren wollen und bereits Erfahrungen mit MPI und OpenMP haben

Inhalt:

 

Teilnahmevoraussetzungen:

Kenntnisse in Unix, den Programmiersprachen C, C++ oder Fortran, und Erfahrung mit den Prinzipien von MPI, z.B.point-to-point message passing, datatypes, nonblocking communication, collective communication; Erfahrungen mit OpenMP 3.0

Agenda:

Agenda of Advanced MPI Course at JSC

Sprache:

Der Kurs wird auf Deutsch gehalten.

Dauer:

3 Tage

Termin:

28.-30. November 2016, 9.00 - 16.30 Uhr

Ort:

Jülich Supercomputing Centre, Ausbildungsraum 1, Geb. 16.3, Raum 213a

Teilnehmerzahl:

maximal 28

Referent:

Dr. Rolf Rabenseifner, HLRS Stuttgart (für MPI/OpenMP);


Dr. Markus Geimer, JSC (für die Tools-Session am 3. Tag)


Ansprechpartner:

Dr. Florian Janetzko


Telefon: +49 2461 61-1446


E-mail: f.janetzko@fz-juelich.de

Ziel dieses Workshops ist es, Methoden der fortgeschrittenen Parallelprogrammierung kennenzulernen. Der Kurs wendet sich insbesondere an Programmierer mit Erfahrung in C/C++ oder Fortran und schon vorhandenen Kenntnissen in MPI und OpenMP, die beiden gängigsten Programmiermodelle für moderne Höchstleistungsrechner. OpenMP ist eine standardisierte Spracherweiterung zu Fortran und C/C++ zur Entwicklung paralleler Programme auf Systemen mit gemeinsamem Speicher (shared memory), wie z.B. Multicore CPUs oder ccNUMA-Architekturen. Das Message Passing Interface (MPI) ist das wichtigste Werkzeug zur Programmierung von Systemen mit verteiltem Speicher (distributed memory), zu denen die weltweit schnellsten heute verwendeten Supercomputer zählen. Der Kurs beinhaltet neueste Methoden aus MPI-3.0 und 3.1 und OpenMP-4.0, die für eine effiziente Nutzung heutiger Rechnerarchitekturen im Höchstleistungsrechnen entwickelt wurden. Themen bei MPI sind Gruppen und Kommunikatoren, Prozess Topologien, Derived Datatypes, das neue MPI-3.0 Fortran Language Bindiung, One-sided Communication und das neue MPI-3.0 Shared Memory Programmiermodell. Bei OpenMP wird auf die Erweiterungen in OpenMP-4.0 eingegangen, wie z.B. Vektorisierungsdirektiven, Thread Affinity und OpenMP Places. (Die GPU Programmierung mittels neue OpenMP Direktiven ist nicht Teil dieses Kurses.) Der Kurs beinhaltet auch Performance und Best Practice Betrachtungen, z.B. zur hybriden Kombination von MPI + shared Memory Parallelisierung.

Der Kurs endet mit einem Abschnitt über Tools zur parallelen Programmierung.
Übungen (in C und Fortran) helfen, die erlernten Methoden sofort zu testen und sie besser zu verstehen.

Weitere Informationen zum Kurs auf den Webseiten des HLRS.

Letzte Änderung: 11.04.2022