Schulungen zu MATLAB und Simulink

Beschleunigen und Parallelisieren von MATLAB-Code

Programm ansehen und anmelden

Kursbeschreibung

In diesem zweitägigen Kurs wenden Sie verschiedene Techniken zur Beschleunigung von MATLAB®-Code an. Sie identifizieren die zeitintensiven Codeabschnitte und beschleunigen diese mittels Techniken wie Vorbelegung von Variablen und Vektorisierung oder auch Erstellung von MEX-Dateien mit MATLAB Coder™. Zusätzlich parallelisieren Sie for-Schleifen mit der Parallel Computing Toolbox™ und können so alle Rechenkerne Ihres Computers nutzen. Darüber hinaus können Sie mit MATLAB Parallel Server™ die Codeausführung auch auf Cluster oder Clouds skalieren, von Mehrkern-Umgebungen bis hin zu High Performance Computing (HPC). Das Zusammenwirken dieser Konzepte wird während des gesamten Kurses untersucht. Wenn Sie mit zeitintensiven Berechnungen oder Simulationen arbeiten, werden Sie von den interaktiven Demonstrationen und Übungen profitieren. Themen sind unter anderem:
 
  • Verbessern der Laufzeit ohne Einsatz zusätzlicher Toolboxen
  • Generieren von MEX-Dateien
  • Parallelisieren von Berechnungen
  • Auslagern von Berechnungen
  • Arbeiten auf Clustern
  • Rechnen auf GPUs

Tag 1 von 2


Verkürzen der Laufzeit

Ziel: Analysieren des Laufzeitverhaltens von Code und Anwenden von Strategien zur Verkürzung der Laufzeit.

  • Identifizieren von zeitintensiven Codeabschnitte
  • Vorbelegen von Arrays
  • Verschiedene Techniken der Vektorisierung
  • Umschreiben von Algorithmen

Generieren von MEX-Dateien

Ziel: Generieren von MEX-Dateien aus MATLAB-Code zur schnelleren Abarbeitung des Codes.

  • Überblick über MATLAB Coder und die allgemeine Vorgehensweise bei der Codeerzeugung
  • Generieren und Verifizieren von MEX-Dateien
  • Aufrufen nicht unterstützter Funktionen
  • Anpassen der Optionen für die Generierung von MEX-Dateien

Parallelisieren von Berechnungen

Ziel: Parallelisieren der Code-Ausführung, um mehrere Rechenkerne zu nutzen.

  • Öffnen zusätzlicher MATLAB-Prozesse
  • Ausführen paralleler for-Schleifen
  • Messen der erzielten Beschleunigung
  • Paralleles Verarbeiten von Dateien

Tag 2 von 2


Parallele for-Schleifen

Ziel: Tieferes Verständnis von parallelen for-Schleifen und Anwenden von Techniken zur Umwandlung von for-Schleifen in parfor-Schleifen.

  • Anforderungen an parallele for-Schleifen
  • Parallelisieren von for-Schleifen
  • Abfragen von Zwischenergebnissen

Auslagern von Berechnungen

Ziel: Auslagern von Berechnungen in einen separaten MATLAB-Prozess, um MATLAB zwischenzeitlich für andere Aufgaben nutzen zu können. Dies ist auch ein Vorbereitungsschritt zum Arbeiten auf Clustern.

  • Auslagern von Programmen
  • Erstellen von Batch Jobs
  • Abfragen von Ergebnissen
  • Verwenden des Job Monitor

Arbeiten auf Clustern

Ziel: Beschleunigen von Berechnungen und Realisieren von umfangreicheren Simulationen durch die Nutzung mehrerer Rechner.

  • Lokale Profile und Cluster-Profile
  • Dynamische Lizenzierung
  • Cluster-Anbindung
  • Anhängen von Dateien

Rechnen auf GPUs

Ziel: Ausführen von MATLAB-Code auf einer Grafikkarte (GPU), um die Laufzeit von Code zu verringern.

  • Überblick über Architektur und Arbeitsweise von GPUs
  • Anwendungen, die zur Ausführung auf GPUs geeignet sind
  • Wege zur Durchführung von Berechnungen auf GPUs
  • Erstellen von CUDA® MEX-Dateien mit GPU Coder™
  • Ausführen bestehenden CUDA-Codes

Stufe: Aufbaukurse

Voraussetzungen:

Dauer: 2 Tage

Sprachen: English, 한국어

Programm ansehen und anmelden