Home | Sitemap | deutsch  | Legals | KIT

Advanced Topics in Parallel Programming

Advanced Topics in Parallel Programming
type: Proseminar / Seminar (PS/S)
semester: SS 2014
time: 14.04.2014
15:45 - 17:15 wöchentlich



28.04.2014
15:45 - 17:15 wöchentlich


05.05.2014
15:45 - 17:15 wöchentlich


12.05.2014
15:45 - 17:15 wöchentlich


19.05.2014
15:45 - 17:15 wöchentlich


26.05.2014
15:45 - 17:15 wöchentlich


02.06.2014
15:45 - 17:15 wöchentlich


16.06.2014
15:45 - 17:15 wöchentlich


23.06.2014
15:45 - 17:15 wöchentlich


30.06.2014
15:45 - 17:15 wöchentlich


07.07.2014
15:45 - 17:15 wöchentlich


14.07.2014
15:45 - 17:15 wöchentlich



lecturer: Prof. Dr. Achim Streit
Dr. Gevorg Poghosyan
lv-no.: 2400013
Vortragsspracheunbekannt
Beschreibung Eine effiziente Nutzung hochwertiger Supercomputing-Ressourcen (auch Hochleistungsrechner bzw. HPC genannt) für Simulationen von Phänomenen aus der Physik, Chemie, Biologie, mathematischen oder technischen Modellierung , von neuronalen Netzen, Signalverarbeitung, usw. ist nur möglich, wenn die entsprechenden Anwendungen mit modernen und fortschrittlichen Methoden der parallelen Programmierung implementiert werden. Oftmals ist sogar die Fähigkeit der Anwendung zur guten Skalierung (d.h. zur effizienten Nutzung einer großen Menge von CPU-Kernen) oder zur Nutzung von Beschleunigerhardware wie z.B. Grafikkarten/GPUs eine Voraussetzung, um einen Zugang zu und entsprechende Rechenzeit auf großen HPC-Systemen genehmigt zu bekommen.

Die Verbesserung bestehender Algorithmen in den Simulationscodes durch fortschrittliche Parallelisierungstechniken kann zu erheblichen Leistungsverbesserungen führen; Ergebnisse können so schneller generiert werden. Oder es besteht auch die Möglichkeit zur Energieeinsparung, in dem geeignete zeitintensive Rechenroutinen des Simulationsprogramms von CPUs mit einem relativ hohen Energiebedarf auf GPUs mit einem niedrigeren Energiebedarf (pro Rechenoperation) verlagert werden.

Im Seminar werden ausgewählte Themen zu moderne Techniken der parallelen Programmierung vorgestellt und diskutiert. Stichworte sind MPI, OpenMP, CUDA, OpenCL und OpenACC. Es werden auch Werkzeuge zur Analyse der Effizienz, Skalierbarkeit und des Zeitverbrauchs von parallelen Anwendungen adressiert. Themen aus dem Bereich der parallelen Dateisysteme und der Hochgeschwindigkeits-Übertragungstechnologien runden das Themenspektrum ab.

Themen im Bereich der parallelen Programmierung mit MPI sind voraussichtlich:

  • Internes Scheduling paralleler Prozessor Gruppen in MPI-Jobs
  • Dynamisches Prozess-Management mit MPI-2 zur Erzeugung von zusätzlichen Tasks
  • Parallele Datei-Manipulation und Zugriff über MPI-I/O
  • Einseitige Kommunikation mit MPI-2

Themen im Bereich der parallelen Programmierung mit grafischen/mathematischen Co-Prozessoren sind voraussichtlich:

  • Nutzung von GPU-Beschleunigern zur Beschleunigung von Fast-Fourier- Transformationen
  • Vergleich der Beschleunigerkarten von NVIDIA Kepler, AMD GCN und Intel Xeon Phi zur Hochdurchsatz-Bildverarbeitung
  • OpenACC - der neue Programmierstandard für heterogene Parallelprogrammierung

Performance-Analyse und Optimierung von Simulationscodes:

  • Performance-Analyse von seriellen Programmen (als Teil paralleler Programme)
  • Performance-Analyse paralleler Programme mit Alinea MAP / Scalasca / Intel Trace Analyzer und Collector
  • Grundlagen der (parallelen) Code-Optimierung
  • Modellgetriebene und Template-basierte Ansätze für HPC

Themen im Bereich der parallelen Programmierung mit OpenMP sind:

  • OpenMP 4.0 - ein neuer Standard zur mehrfädigen Programmierung von CPUs und GPUs
  • Parallelisierung rekursiver Programme mit Hilfe des in OpenMP integrierten Task-Konzepts