CUDA Raytracer übertrifft Vulkan/RTX um das 3-fache
Dieser Artikel beschreibt den Weg des Autors bei der Entwicklung eines CUDA-basierten Raytracers, der eine Vulkan/RTX-Implementierung auf identischer Hardware um mehr als das Dreifache übertrifft. Ausgehend von einer naiven CUDA-Portierung optimierte der Autor den Renderer systematisch und ging dabei Rekursion, Registerdruck, Speicherlayouts und Ineffizienzen bei Verzweigungen an. Techniken wie explizite Stacks, Structure of Arrays, frühzeitige Beendigung von Strahlen und russisches Roulette wurden eingesetzt, was zu einer Reduzierung der Framezeit von 2,5 Sekunden auf 9 Millisekunden führte. Der Artikel taucht tief in die Performance-Engpässe von CUDA ein und bietet praktische Optimierungsstrategien. Benchmarks zeigen die signifikanten Performance-Gewinne, die auf einer RTX 3080 erzielt wurden.
Mehr lesen