RayFlex: An Open-Source RTL Implementation of the Hardware Ray Tracer Datapath

📅 2024-09-09
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
The lack of open-source hardware foundations hinders research on general-purpose programmable ray-tracing (RT) units. Method: We propose the first open-source, RTL-level, scalable ray-tracing datapath. Our design employs a modular pipelined architecture, parameterized skid buffers, and shared data structures defined once and instantiated ubiquitously—enabling not only graphics rendering but also general-purpose computation. We further pioneer the extension of RT units to compute Euclidean and cosine distances over arbitrary-dimensional vectors, supporting data-intensive workloads such as tree traversal and nearest-neighbor search. Contribution/Results: The architecture achieves high flexibility and configurability with only 36% area and 20% power overhead for functional expansion. All Verilog source code is publicly released, establishing a robust infrastructure for RT architecture exploration and heterogeneous acceleration research.

Technology Category

Application Category

📝 Abstract
The advent of hardware ray tracing (RT) units has brought unprecedented realism to real-time rendered computer graphics. However, the potential of these units extends beyond graphics, offering acceleration for various computational tasks such as tree traversal and nearest-neighbor search. We introduce RayFlex, a first-of-its-kind open-source RTL implementation of a hardware ray tracer datapath designed to facilitate research in general-purpose programmable RT units. RayFlex's architecture is both extensible and flexible, thanks to two core design concepts: the parameterized RayFlex Skid Buffer module and the"defined-once-instantiated-everywhere"Shared RayFlex Data Structure. This makes RayFlex an ideal testing ground for academic research and exploration. Our implementation allows researchers to explore various design choices, fostering a realistic understanding of hardware ray tracer design trade-offs. Through comprehensive case studies, we demonstrate the versatility of RayFlex in evaluating different pipeline configurations and extending its functionality to support additional computational tasks. We show that by extending the functionality of a baseline RT unit datapath with an area cost of 36 percent and a power overhead of about 20 percent, the RT unit can calculate the Euclidean distance and cosine distance of vectors of arbitrary dimension, thereby accelerating a broader range of data-analytics workloads. The source code of RayFlex is available at https://github.com/purdue-aalp/rayflex.
Problem

Research questions and friction points this paper is trying to address.

Open-source RTL implementation for programmable ray tracing research
Extensible hardware design for diverse computational tasks acceleration
Evaluating trade-offs in ray tracer pipeline configurations
Innovation

Methods, ideas, or system contributions that make the work stand out.

Open-source RTL hardware ray tracer datapath
Extensible Skid Buffer and Shared Data Structure
Supports Euclidean and cosine distance calculations
🔎 Similar Papers
No similar papers found.