Seminar / Training Performance-Tuning und Erweiterungen (C/C++/Fortran) für GNU Octave
Inhaltsverzeichnis
- Abstract
- Zielgruppe
- Voraussetzungen
- Lernziele
- Agenda (2 Tage)
- Praxisworkshops
- Tuning-Checkliste
Abstract
Dieses Seminar zeigt, wie Octave-Auswertungen beschleunigt und funktional erweitert werden können. Inhalte sind Profiling, Laufzeit- und Speicherdiagnose, vektorisierte Umsetzung, Vorallokation, effiziente Datenlayouts und der Umgang mit großen Datenmengen. Zusätzlich wird die Integration nativer Erweiterungen behandelt: Schnittstellenkonzepte, Kompilierungsidee, Übergabe von Arrays, Datentypmapping und Performance-Gewinn durch ausgelagerte Kernroutinen. Praxisübungen setzen auf reale Hotspots: Schleifen, wiederholte Allokationen, unnötige Kopien und teure I/O. Ziel ist ein reproduzierbarer Prozess: messen, optimieren, testen, dokumentieren.
Zielgruppe
- Teams mit großen Datenmengen oder langen Laufzeiten
- Engineering- und Analysepipelines mit Skalierungsbedarf
- Entwicklerinnen und Entwickler, die Kernroutinen auslagern wollen
Voraussetzungen
- GNU Octave Grundlagen
- Vorteilhaft: Software Engineering, Automatisierung und Deployment (für Tests/Struktur)
- Für native Erweiterungen: grundlegendes Verständnis von C/C++ oder Fortran (basal)
Lernziele
- Performance-Hotspots methodisch identifizieren
- Vektorisierung und Speicherstrategien anwenden
- Laufzeit- und Speicherkosten in Codeentscheidungen übersetzen
- Erweiterungsansatz wählen: Octave-Funktion, Paket, native Erweiterung
- Numerische Ergebnisse trotz Optimierung stabil halten (Tests, Toleranzen)
Agenda (2 Tage)
- Tag 1
- Profiling-Idee: messen vor optimieren, repräsentative Inputs
- Vektorisierung: Muster und Anti-Pattern
- Speicher: Vorallokation, Kopien vermeiden, Datenlayout
- I/O-Performance: Lesen/Schreiben minimieren, Batch-Strategien
- Übung: Schleifenhotspot in vektorisierte Form bringen
- Tag 2
- Erweiterungen: wann native Routinen sinnvoll sind
- Schnittstellenkonzept: Arrays rein, Arrays raus, Typmapping
- Build- und Integrationsidee: kompiliertes Modul, Versionierung, Tests
- Fallstudie: Pipeline beschleunigen und Ergebnisgleichheit prüfen
- Dokumentation: Performance-Report und Abnahme
Praxisworkshops (Step-by-step)
- Workshop A: Profiling und Hotspot-Isolation
- Repräsentatives Inputset definieren
- Baseline-Laufzeit messen und protokollieren
- Codeabschnitte isolieren (größte Zeitanteile)
- Hypothese bilden: Allokationen, Schleifen, I/O, teure Funktionen
- Optimierung umsetzen und erneut messen
- Ergebnisgleichheit mit Toleranz prüfen
- Workshop B: Vektorisierung und Vorallokation
- Schleifenfunktion identifizieren, die Array sukzessive erweitert
- Zielgröße vorab bestimmen und Array vorallokieren
- Schleife reduzieren oder durch Vektoroperation ersetzen
- Laufzeit und Speicherverbrauch vergleichen
- Lesbarkeit bewerten und kommentieren
- Workshop C: Native Kernroutine als Konzeptübung
- Rechenkern definieren (z. B. inneres Produkt, Filterkern, Spezialfunktion)
- I/O-Interface spezifizieren: Eingabearrays, Ausgabeform
- Typmapping festlegen (double-Array als Standard)
- Kompilations- und Einbindeschritte als Build-Skizze dokumentieren
- Vergleichstest: Octave-Referenz vs. Erweiterungsausgabe
Tuning-Checkliste
- Baseline messen und Input fixieren
- Allokationen reduzieren, Vorallokation konsequent
- Vektorisierung dort, wo es lesbar und stabil ist
- I/O bündeln und Zwischenergebnisse minimieren
- Jede Optimierung mit Test absichern (numerische Toleranzen)
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Teams mit großen Datenmengen oder langen Laufzeiten Engineering- und Analysepipelines mit Skalierungsbedarf Entwicklerinnen und Entwickler, die Kernroutinen auslagern wollen |
| Vorausetzung: | GNU Octave Grundlagen Vorteilhaft: Software Engineering, Automatisierung und Deployment (für Tests/Struktur) Für native Erweiterungen: grundlegendes Verständnis von C/C++ oder Fortran (basal) |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
