High Performance Computing

Zusammenfassung

Dieser spezialisierte Kurs behandelt HPC-Grundlagen, Leistungsoptimierung und paralleles Rechnen für wissenschaftliche und technische Anwendungen. Der Lehrplan ist vollständig anpassbar – Themen können hinzugefügt, weggelassen oder vertieft werden, je nach den spezifischen Bedürfnissen und dem Erfahrungsstand Ihrer Gruppe.
Von den Grundlagen von Clustern und Job Scheduling bis hin zu fortgeschrittenen Parallelisierungstechniken erforschen wir verschiedene Ansätze zur Verbesserung der Rechenleistung in unterschiedlichen Programmiersprachen und Umgebungen, wobei alle Inhalte auf Ihre spezifische Domäne und Anwendungen zugeschnitten sind.

Zielgruppen

Ideal für Programmierer, Forscher, Ingenieure und Entwickler mit Programmiererfahrung, die sich mit dem Thema beschäftigen möchten:

  • Lernen Sie die Nutzung von HPC-Clustern und paralleles Rechnen von Grund auf
  • Beschleunigen Sie rechenintensive Anwendungen und beheben Sie bestehende Leistungsengpässe
  • Optimieren Sie bestehende parallele Codes für bessere Skalierbarkeit und Effizienz
  • Entwickeln Sie neue Hochleistungslösungen für komplexe Berechnungsprobleme

Flexible Kursstruktur

Der Inhalt und die Programmiersprachen (Python, C oder gemischte Ansätze) werden auf der Grundlage der spezifischen Bedürfnisse und Anwendungen Ihres Teams angepasst. Der Kurs kombiniert theoretische Grundlagen mit der praktischen Optimierung von echtem Code, ggf. unter Einbeziehung der eigenen Projekte der Teilnehmer.

Die Mindestanzahl der Live-Tutorials beträgt 4, um alle relevanten Themen abzudecken, aber die endgültige Anzahl hängt von den Bedürfnissen Ihres Teams ab. Die Tutorien dauern jeweils 90-120 Minuten. Die Teilnehmer sollten insgesamt mindestens 30 Stunden einplanen.

Inhalt

  1. Grundlagen der HPC-Umgebung – Cluster-Architektur, Job-Scheduler (SLURM), Batch-Systeme
  2. Leistungsprofilierung und Identifizierung von Engpässen
  3. Single-Core Optimierung
  4. Parallele Programmierung in C mit MPI, OpenMP, CUDA
  5. Parallele Programmierung in Python mit Dask, CuPy, Numba oder PyCUDA
  6. Speicheroptimierung und effiziente Datenstrukturen
  7. Skalierbare Computing-Strategien für Cluster und HPC-Systeme
  8. Hardware-Überlegungen und hybride CPU/GPU-Parallelisierung

FAQ (Häufig gestellte Fragen)

Nein, dieser Kurs ist sprachflexibel. Wir können zwar die CPU- und GPU-Parallelisierung in Python abdecken, sind aber genauso gut in der Lage, uns auf C/C++ oder gemischtsprachige Ansätze zu konzentrieren. Wenn Ihre Gruppe eine HPC-Schulung speziell für C, FORTRAN oder eine andere Sprache benötigt, werden wir den Lehrplan entsprechend anpassen. Der gesamte Kurs ist auf die spezifischen Bedürfnisse Ihres Teams und seine bevorzugte Programmierumgebung zugeschnitten.

Der Zugang zu einem eigenen Cluster ist zwar ideal, um die Konzepte direkt anwenden zu können, aber nicht unbedingt erforderlich. Insbesondere wenn das Ziel die Optimierung von Python-Code ist, reicht Ihr Laptop/PC aus, um die Konzepte auszuprobieren und die Leistungsvorteile zu sehen.

Alternativ können wir auch Konten bei AWS / Google Cloud einrichten, wo Sie als neuer Benutzer eine begrenzte Rechenzeit kostenlos erhalten.

Unbedingt! Wir ermutigen die Teilnehmer, ihren eigenen Code zur Optimierung mitzubringen. Der Kurs beinhaltet Zeit für die Analyse und Verbesserung von realen Anwendungen Ihres Teams.

Überblick über die Kurse

Ab 2023 sind die Spezialisierungskurse Good Programming Practice in Python und Advanced Plotting in Python in Python for Scientists und Python for Biologists integriert.

Module / Course

Programming projects with AI

Syntax, PEP8, Keyboard Shortcuts, Numpy

Advanced Numpy, File IO, Pandas, AI

Advanced Matplotlib & Interactive Plots

GIT, String Formatting, Video Creation, Code structure

Interpolation, Fitting, Filtering, Data analysis

File Creation, Generators, Parallelization, Sympy

Biopython: DNA sequencing & visualization, BLAST

Scikit Image: Image analysis & processing

✔ bedeutet, dass die Themen sowohl in der Vorlesung als auch in den Tutorien behandelt werden
^ bedeutet, dass die Teilnehmer Zugang zu den Vorlesungsunterlagen haben, wir aber 1 oder 2 Themen auswählen, die wir in den Tutorien diskutieren

On-Demand Kurse

Filters Sort results
Reset Apply
Die Buchungsfunktion funktioniert momentan nur in der englischen Version der Website.

Kommende Live-Kurse

Filters Sort results
Reset Apply
Die Buchungsfunktion funktioniert momentan nur in der englischen Version der Website.

Kontakt

Sind Sie interessiert oder haben Sie Fragen zum Kurs Python für Wissenschaftler und Ingenieure? Sie können sich jederzeit melden!

+49 156 78448154

Nach oben scrollen