Übersicht
Worum es bei diesem Projekt geht.
Du erhältst die DSL (rund 30 Operatoren), den bestehenden CPU-Codegenerator in Python, die IR-Definition und 12 Testkernels mit erwarteten Ergebnissen. Implementiere das CUDA-Backend mit zwei Generierungsstrategien: (1) eine elementweise Strategie mit ein-Thread-pro-Element, (2) eine Reduce-Strategie mit Shared-Memory und Warp-Reductions. Generiere lesbaren CUDA-C-Code, übersetze ihn mit nvcc und benchmarke gegen die CPU-Baseline auf einer Consumer-GPU (RTX 4070). Liefere Codegenerator-Pässe, 12 Korrektheitstests, einen 7-seitigen Designbericht und eine 20-minütige Demo, in der ein neuer Operator live hinzugefügt wird.
Das Briefing
Was Du tust und was Du zeigst.
Wie wird ein bestehender CPU-Codegenerator einer Tensor-DSL um ein CUDA-Backend erweitert, das auf elementweise und Reduce-Kernels mindestens 5x Speedup über die CPU-Baseline erreicht?
Earning criteria — what you'll demonstrate
- Compiler-Backends für eine moderne GPU-Architektur entwerfen
- Speicherhierarchie (Global, Shared, Registers) bei der Codegenerierung berücksichtigen
- Warp-Reductions und Shared-Memory-Patterns als wiederverwendbare Bausteine implementieren
- GPU-Speedups gegen CPU-Baselines reproduzierbar messen
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