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