Computational Sciences Center

Blockkurs "Simulation und Hochleistungsrechnen"

 

Da zur Zeit alle Plätze belegt sind, können vorerst leider keine weiteren Anmeldungen für den diesjährigen Blockkurs entgegen genommen werden!

 

Dozenten: Prof. Dr. Steffen Börm, Dr. Leon Schramm

Ort und Zeit: Online, vom Montag, dem 28.09.2020, bis zum Freitag, dem 9.10.2020; Materialien bei OpenOlat, Live-Übungen und Live-Sprechstunden mit BigBlueButton 

Anmeldung: Bitte per Mail an Herrn Börm

Vorkenntnisse: Höhere Mathematik (z.B. Ableitungen und Integrale, Polynome, Matrizen und Vektoren); Programmieren in C

Skript: Vorlesungsnotizen stehen als PDF-Datei zur Verfügung.

Die erste Woche des Blockkurses ist grundlegenden numerischen Verfahren gewidmet, die für Simulationen von zentraler Bedeutung sind.

  • Montag, 28.09.2020:
    09:00 - 09:30 Begrüßung
    09:30 - 10:30 Vorlesung: Einschrittverfahren für gewöhnliche Differentialgleichungen
    10:30 - 12:00 Programmierübung: Simulation zeitabhängiger Vorgänge
    14:00 - 15:30 Vorlesung: Implizite Einschrittverfahren, Crank-Nicolson- und Leapfrog-Verfahren
    15:30 - 17:00 Programmierübung: Energieerhaltende Simulationen
  • Dienstag, 29.09.2020:
    09:00 - 10:30 Vorlesung: Verfahren höherer Ordnung
    10:30 - 12:00 Programmierübung: Numerische Integration
    14:00 - 15:30 Vorlesung: Runge-Kutta-Verfahren und Mehrschrittverfahren für gewöhnliche Differentialgleichungen
    15:30 - 17:00 Programmierübung bei BigBlueButton: Simulation eines Mehrkörpersystems, Simulation eines Räuber-Beute-Systems
  • Mittwoch, 30.09.2020:
    09:00 - 10:30 Vorlesung: Finite-Differenzen-Verfahren für partielle Differentialgleichungen
    10:30 - 12:00 Programmierübung: Numerische Behandlung der elektrostatischer Felder
    14:00 - 15:30 Vorlesung: Linienmethode für die Wärmeleitungsgleichung und die Wellengleichung
    15:30 - 17:00 Programmierübung: Simulation der Wellengleichung
  • Donnerstag, 1.10.2020:
    09:00 - 10:30 Vorlesung: Iterationsverfahren
    10:30 - 12:00 Programmierübung: Berechnung der Lagrange-Punkte im Sonnensystem
    14:00 - 15:30 Vorlesung: Krylow-Verfahren für große lineare Gleichungssysteme
    15:30 - 17:00 Programmierübung: Simulation der Wellengleichung mit dem Crank-Nicolson-Verfahren und einem CG-Löser
  • Freitag, 2.10.2020:
    09:00 - 10:30 Vorlesung: Mehrgitterverfahren
    10:30 - 12:00 Programmierübung: Simulation elektrostatischer Felder mit einem Mehrgitterverfahren
    14:00 - 15:30 Vorlesung: Verfahren für nicht-lokale Wechselwirkungen
    15:30 - 17:00 Programmierübung: Schnelle Berechnung der Kräfte in einem Vielkörpersystem

 

In der zweiten Woche des Blockkurses befassen wir uns mit der Frage, wie diese Verfahren auf modernen Computern möglichst effizient realisiert werden können.

  • Montag, 5.10.2020:
    09:00 - 10:30 Vorlesung: Parallelisierung mit geteiltem Speicher (OpenMP, Threads, Teams, Worksharing)
    10:30 - 12:00 Programmierübung: Parallele Operationen für 2D-Gitterfunktionen
    14:00 - 15:30 Vorlesungsvideo: Task-basierte Parallelisierung
    15:30 - 17:00 Programmierübung: Task-parallele LR-Zerlegung
  • Dienstag, 6.10.2020:
    09:00 - 10:30 Vorlesung: Vektorisierung (Grundlagen, automatische Vektorisierung)
    10:30 - 12:00 Programmierübung: Vektorisierte numerische Integration, vektorisierte lineare Algebra
    14:00 - 15:30 Vorlesung: Explizite Vektorisierung (AVX, Intrinsics)
    15:30 - 17:00 Programmierübung: Simulation eines Vielkörpersystems mit Gravitation
  • Mittwoch, 7.10.2020:
    09:00 - 10:30 Vorlesung: Rechnen auf Grafikkarten (CUDA)
    10:30 - 12:00 Programmierübung: Simulation eines Vielkörpersystems auf einer Grafikkarte
    14:00 - 15:30 Vorlesung: Speicherhierarchien (Streams, Threadblöcke, gemeinsamer Speicher)
    15:30 - 17:00 Programmierübung: Quadratur auf einer Grafikkarte, Reduktionsoperationen
  • Donnerstag, 8.10.2020:
    09:00 - 10:30 Vorlesung: Verteiltes Rechnen (MPI)
    10:30 - 12:00 Programmierübung: Operationen auf verteilten 2D-Gitterfunktionen
    14:00 - 15:30 Vorlesung: Kollektive Kommunikation
    15:30 - 17:00 Programmierübung: Gebietszerlegungsverfahren in 2D
  • Freitag, 9.10.2020:
    09:00 - 10:30 Vorlesung:: Computersysteme des Kieler Rechenzentrums
    10:30 - 12:00 Programmierübung: Praktisches Arbeiten auf den Systemen des Rechenzentrums
    12:00 - 12:30 Abschließende Diskussion