基於一致性的繪圖加速器光線追蹤法之加速結構分析 ; Coherence-based Analysis of GPU-assisted Ray Tracing Acceleration Structures
In: [AW87] John Amanatides and Andrew Woo. A fast voxel traversal algorithm for ray tracing. In Eurographics ’87, pages 3–10. Elsevier Science Publishers, Amsterdam, North-Holland, 1987. [BFGS03] Jeff Bolz, Ian Farmer, Eitan Grinspun, and Peter Schrぴoder. Sparse matrix solvers on the GPU: Conjugate gradients and multigrid. ACM Transactions on Graphics, 22(3):917–924, July 2003. [BFH04a] Ian Buck, Kayvon Fatahalian, and Pat Hanrahan. GPUBench: Evaluating GPU Performance for Numerical and Scientific Applications. In Proceedings of the 2004 ACM Workshop on General-Purpose Computing on Graphics Processors, August 2004. [BFH+04b] Ian Buck, Tim Foley, Daniel Horn, Jeremy Sugerman, Kayvon Fatahalian, Mike Houston, and Pat Hanrahan. Brook for GPUs: Stream Computing on Graphics Hardware. ACM Transactions on Graphics, 23(3):777–786, 2004. [CHCH06] NathanA. Carr, Jared Hoberock, Keenan Crane, and John C. Hart. Fast gpu ray tracing of dynamic meshes using geometry images. In Proceedings of Graphics Interface 2006, 2006. [CHH02] Nathan A. Carr, Jesse D. Hall, and John C. Hart. The ray engine. In Proceedings of SIGGRAPH/EUROGRAPHICS Graphics Hardware, 2002. [Chr05] Martin Christen. Implementing ray tracing on GPU. Master’s thesis, University of Applied Sciences Basel, Switzerland, 2005. [DWBS03] Andreas Dietrich, Ingo Wald, Carsten Benthin, and Philipp Slusallek. The OpenRT Application Programming Interface - Towards a Common API for Interactive Ray Tracing. In Proceedings of the 2003 OpenSG Symposium, 2003. Available at en-US;; (2006)
Online
Hochschulschrift
Zugriff:
隨著計算效率的增進以及可程式化能力的進步,繪圖加速器在需要大量運算資源的研究領域中,已成為相當受歡迎的發展平台。不過當研究人員將原本執行於中央處理器上的工作轉移至繪圖加速器時,若忽略了在平行計算上需要特別處理的議題,那麼就無法於繪圖加速器上充分發揮其所能提供的大量計算能力。在本論文中,我們將探討的重點放在三種繪圖加速器光線追蹤法之加速結構上,首先介紹如何在繪圖加速器上進行一般用途計算的概念以及撰寫相關著色器時所需要使用的技巧,接著說明建置這些加速結構和將其實做於繪圖加速器上的細節,之後我們從一致性的角度來分析這些不同加速結構在效能上所產生的差異。藉由進行著重於控制一致性和資料一致性的實驗,不同加速結構所具有的差異性便會因此顯現出來。分析這些以一致性為主的實驗所產生的結果,將幫助我們更加瞭解關於繪圖加速器的結構以及如何利用繪圖加速器的能力來增進光線追蹤法的效能。 ; With the rapidly increasing processing power and the growing of the levels of the programmability of graphics processing units (GPUs), GPUs have become popular platforms for doing lots of computation-intensive jobs. However, while transferring programs from CPUs to GPUs, many issues have to be taken into consideration to make the programs execute efficiently on GPU's SIMD architecture. In this thesis, we put our focus on three acceleration structures for the GPU ray tracing algorithm: uniform grid, KD-tree, and bounding volume hierarchies. The concepts about how to do the general purpose computations on GPUs (GPGPU) and the techniques used in the GPGPU programming are introduced first. Then we give the details about the construction of these acceleration structures and how to do the traversal with GPU implementations. Afterward, we discuss the performance differences among them from the coherence's point of view. Experiments about the control coherence and the data coherence, such as texture fetching patterns, ray order while doing traversing, the looping limit of a shader, and the hardware-assisted z-culling, are performed to reveal the distinct characteristics of different structures. By observing the results of these coherencebased experiments, we get better understandings about the underlying GPU architecture and have more insights about how to maximize the capabilities of GPUs to increase the performance of the ray tracing algorithm. ; 1 Introduction 1 1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Ray tracing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...