Polyedrische Schleifenanalyse für einen Bildverarbeitungs-Kernel
Übersicht
Worum es bei diesem Projekt geht.
Du erhältst den Filter-Kernel (rund 350 Zeilen C, drei verschachtelte Schleifen), repräsentative Eingabebilder und eine Mess-Pipeline mit perf. Konvertiere den Kernel mit clang -O3 -mllvm -polly-process-unprofitable, vergleiche die transformierten Schleifen-Nester und dokumentiere, welche Polly-Transformationen (Loop Tiling, Loop Fusion, Loop Skewing) angewendet wurden. Implementiere parallel eine handgeschriebene Tiling-Variante und vergleiche sie quantitativ mit Pollys Ergebnis. Liefere ein 7-seitiges Whitepaper, das Empfehlungen zur Polly-Adoption im Build-System gibt, eine Mess-Skript-Sammlung und ein 25-minütiges Tech-Talk-Skript für das Engineering-All-Hands.
Das Briefing
Was Du tust und was Du zeigst.
Welche polyedrischen Schleifentransformationen bringen auf einem realen Bildfilter messbaren Speedup, und wann lohnt sich Polly gegenüber handgeschriebener Optimierung?
Earning criteria — what you'll demonstrate
- Polyedrische Modellierung von Schleifennestern als ganzzahlige Polytope verstehen
- Polly-Transformationen aus LLVM-Berichten ablesen und interpretieren
- Handgeschriebene und automatisierte Schleifenoptimierungen quantitativ vergleichen
- Adoption von Compiler-Toolchain-Erweiterungen mit Kosten-Nutzen-Argument begründen
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 RollenNoch eine Sache