Performance-Optimierung eines Bildverarbeitungs-Filters in C mit SIMD
Übersicht
Worum es bei diesem Projekt geht.
Sie erhalten die Naïve-C-Implementierung (rund 250 Zeilen), 50 Sample-Wafer-Aufnahmen und eine x86-64-Workstation mit AVX2-Unterstützung. Schritt 1: Profiling mit perf und Linux Performance Counters, identifizieren Sie Cache-Misses und Branch-Misses. Schritt 2: Implementieren Sie drei aufeinander aufbauende Optimierungen — (a) loop tiling für besseres L1-Cache-Verhalten, (b) Software-Prefetching der nächsten Tile, (c) AVX2-Vektorisierung mit Intrinsics. Messen Sie nach jeder Optimierung Frames pro Sekunde und Cache-Miss-Raten. Validieren Sie pixelgenaue Korrektheit gegen die Naïve-Version mit allen 50 Aufnahmen. Liefern Sie den optimierten Code, einen Benchmark-Bericht mit Speedup-Aufschlüsselung pro Schritt und eine Empfehlung zu AVX-512 (Cost vs. Benefit).
Das Briefing
Was Du tust und was Du zeigst.
Wie kommt der Sobel-Filter von 35 auf 120 Frames pro Sekunde bei 2048×2048, ohne Pixel-Korrektheit zu verlieren?
Earning criteria — what you'll demonstrate
- Cache-bewusste Algorithmen mit Loop-Tiling implementieren
- SIMD-Intrinsics für x86-64 (AVX2) korrekt einsetzen
- Profiling mit Hardware-Performance-Countern interpretieren
- Optimierungs-Schritte isoliert messen, statt 'alles auf einmal'
Studienpassung
Wo dies in Dein Studium passt.
Schärft dieselben Fähigkeiten, die Dein Studium von Dir erwartet.
Fähigkeiten
Fähigkeiten, die Du unter Beweis stellst.
Jede taucht auf Deinem verifizierten Zertifikat auf.
Karrieren
Berufe, auf die dies Dich vorbereitet.
Echte Berufsbezeichnungen. Echte Skill-Brücken. Wähle die, die Deinem Werdegang am nächsten kommt.
Karrierewege, die das aufbaut
Kanonische RollenSoftware-Entwickler:in
Performance-Optimierung mit SIMD und Cache-Bewusstsein ist eine seltene Junior-Skill — wer sie auf einem industrierelevanten Workload demonstriert, hat Zugang zu Stellen in Halbleitern, Computer Vision und Wissenschafts-Computing.
Dieses Projekt schärft
- c-programming
- simd-intrinsics
- performance-optimization
Systemarchitekt:in
Systemarchitekt:innen, die SIMD und Cache-Verhalten verstehen, treffen realistischere Hardware-Architektur-Entscheidungen für Daten- und Bildverarbeitungs-Pipelines.
Dieses Projekt schärft
- performance-optimization
- memory-management
- low-level-programming
Backend-Entwickler:in
Backend-Entwickler:innen mit C-Performance-Erfahrung verstehen, wann Hot-Paths nativisiert werden sollten — eine Differenzierung gegenüber rein high-level-arbeitenden Kolleg:innen.
Dieses Projekt schärft
- c-programming
- performance-optimization
- benchmarking
Noch eine Sache