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)
Seminar und Anbieter vergleichen
Öffentliche Schulung
Diese Seminarform ist auch als Präsenzseminar bekannt und bedeutet, dass Sie in unseren Räumlichkeiten von einem Trainer vor Ort geschult werden. Jeder Teilnehmer hat einen Arbeitsplatz mit virtueller Schulungsumgebung. Öffentliche Seminare werden in deutscher Sprache durchgeführt, die Unterlagen sind teilweise in Englisch.
Inhausschulung
Diese Seminarform bietet sich für Unternehmen an, welche gleiche mehrere Teilnehmer gleichzeitig schulen möchten. Der Trainer kommt zu Ihnen ins Haus und unterrichtet in Ihren Räumlichkeiten. Diese Seminare können in Deutsch - bei Firmenseminaren ist auch Englisch möglich gebucht werden.
Webinar
Diese Art der Schulung ist geeignet, wenn Sie die Präsenz eines Trainers nicht benötigen, nicht Reisen können und über das Internet an einer Schulung teilnehmen möchten.
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 und Webinar: € 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: | Bregenz, Graz, Innsbruck, Klagenfurt, Linz, Salzburg, Wien |
| 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 + 43 (720) 022000 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
