🤖 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.
📝 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.