Beschleunigen und Parallelisieren von MATLAB-Code

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 nutzen so alle Rechenkerne Ihres Computers. Darüber hinaus können Sie mit MATLAB Parallel Server™ die Codeausführung auch auf mehrere Rechner verteilen. Wenn Sie mit zeitintensiven Berechnungen oder Simulationen arbeiten, werden Sie von den angewandten Beispielen profitieren.

Die Themen sind unter anderem:

  • Verbessern der Laufzeit ohne Einsatz zusätzlicher Toolboxen
  • Generieren von MEX-Dateien
  • Parallelisieren von for-Schleifen
  • Auslagern von Berechnungen
  • Arbeiten auf Clustern
  • Rechnen gpu汪汪汪

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冯蝙蝠ch 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 gpu汪汪汪

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, Français, 日本語, 한국어