TU Darmstadt / ULB / TUbiblio

Improving Cache usage of Tracing Incoherent Rays on GPUs

Schulz, André (2012)
Improving Cache usage of Tracing Incoherent Rays on GPUs.
Technische Universität Darmstadt
Masterarbeit, Bibliographie

Kurzbeschreibung (Abstract)

Path tracing and related global illumination techniques create beautiful photorealistic images but computing these images is expensive. The process can be sped up by parallelization as it is embarassingly parallel. With recent developments in CPU technology moving towards many-core architectures and GPUs becoming more general purpose architectures, path tracing can now be parallelized on commodity hardware. Unfortunately, while the parallelization is trivial in theory, in reality hardware details make it more difficult, especially for tracing incoherent rays. This thesis investigates the impact of different bounding volume hierarchy (BVH) and node memory layouts as well as accessing the BVH in different memory areas on the ray tracing performance of a path tracer on a many-core wide SIMD architecture by NVIDIA, the Tesla C2070. Furthermore, we optimize the BVH layout by using information gathered in a pre-processing pass which we use in a number of different BVH reordering techniques. Depending on the memory area and complexity of the scene, we are able to achieve a speedup ranging from negligible to moderate. "Path Tracing" und verwandte Techniken zur globalen Beleuchtung können sehr schöne, fotorealistische Bilder erzeugen, welche jedoch sehr aufwendig zu berechnen sind. Dieser Prozess kann durch Parallelisierung beschleunigt werden, da dieser hochgradig einfach zu parallelisieren ist. Aufgrund der Entwicklung von CPUs hin zu Viel-Kern-Architekturen sowie der Entwicklung von GPUs zu allgemeineren Architekturen, kann Path Tracing heutzutage auf handelsüblicher Hardware parallelisiert werden. Theoretisch ist die Parallelisierung trivial, aber in der Praxis schwieriger wegen diverser Hardwaredetails, welche speziell die Verfolgung von inkohärenten Strahlen zu einer Herausforderung machen. Diese Arbeit untersucht, wie sich verschiedene Speicherlayouts von Hüllkörper-Hierarchien und deren Knoten sowie der Zugriff auf diese über verschiedene Speicherbereiche auf die Strahlverfolgungsleistung eines Pathtracers auswirkt, welcher auf einer breiten SIMD Viel- Kern-Architektur von NVIDIA, der Tesla C2070, läuft. Weiterhin, wird das BVH Layout durch Informationen optimiert, welche in einem Vorverarbeitungsschritt gesammelt und für verschiedene BVH Umsortierungstechniken verwendet wird. In Abhängigkeit vom verwendeten Speicherbereich und der Szenenkomplexität erreichen wir eine Laufzeitverbesserung, welche von geringfügig bis mässig reicht.

Typ des Eintrags: Masterarbeit
Erschienen: 2012
Autor(en): Schulz, André
Art des Eintrags: Bibliographie
Titel: Improving Cache usage of Tracing Incoherent Rays on GPUs
Sprache: Englisch
Publikationsjahr: 2012
Kurzbeschreibung (Abstract):

Path tracing and related global illumination techniques create beautiful photorealistic images but computing these images is expensive. The process can be sped up by parallelization as it is embarassingly parallel. With recent developments in CPU technology moving towards many-core architectures and GPUs becoming more general purpose architectures, path tracing can now be parallelized on commodity hardware. Unfortunately, while the parallelization is trivial in theory, in reality hardware details make it more difficult, especially for tracing incoherent rays. This thesis investigates the impact of different bounding volume hierarchy (BVH) and node memory layouts as well as accessing the BVH in different memory areas on the ray tracing performance of a path tracer on a many-core wide SIMD architecture by NVIDIA, the Tesla C2070. Furthermore, we optimize the BVH layout by using information gathered in a pre-processing pass which we use in a number of different BVH reordering techniques. Depending on the memory area and complexity of the scene, we are able to achieve a speedup ranging from negligible to moderate. "Path Tracing" und verwandte Techniken zur globalen Beleuchtung können sehr schöne, fotorealistische Bilder erzeugen, welche jedoch sehr aufwendig zu berechnen sind. Dieser Prozess kann durch Parallelisierung beschleunigt werden, da dieser hochgradig einfach zu parallelisieren ist. Aufgrund der Entwicklung von CPUs hin zu Viel-Kern-Architekturen sowie der Entwicklung von GPUs zu allgemeineren Architekturen, kann Path Tracing heutzutage auf handelsüblicher Hardware parallelisiert werden. Theoretisch ist die Parallelisierung trivial, aber in der Praxis schwieriger wegen diverser Hardwaredetails, welche speziell die Verfolgung von inkohärenten Strahlen zu einer Herausforderung machen. Diese Arbeit untersucht, wie sich verschiedene Speicherlayouts von Hüllkörper-Hierarchien und deren Knoten sowie der Zugriff auf diese über verschiedene Speicherbereiche auf die Strahlverfolgungsleistung eines Pathtracers auswirkt, welcher auf einer breiten SIMD Viel- Kern-Architektur von NVIDIA, der Tesla C2070, läuft. Weiterhin, wird das BVH Layout durch Informationen optimiert, welche in einem Vorverarbeitungsschritt gesammelt und für verschiedene BVH Umsortierungstechniken verwendet wird. In Abhängigkeit vom verwendeten Speicherbereich und der Szenenkomplexität erreichen wir eine Laufzeitverbesserung, welche von geringfügig bis mässig reicht.

Freie Schlagworte: Optimization, General Purpose Computation on Graphics Processing Unit (GPGPU), GPU computing, Graphics Processing Unit (GPU), Ray tracing, Path-tracing, Stochastic ray tracing, 3D Computer graphics, 3D Graphics, Compute Unified Device Architecture (CUDA), Hierarchical bounding volumes, Global illumination, GPU ray casting, Hierarchical data structures
Zusätzliche Informationen:

53 p.

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Graphisch-Interaktive Systeme
Hinterlegungsdatum: 12 Nov 2018 11:16
Letzte Änderung: 12 Nov 2018 11:16
PPN:
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen