# RT Engine: An Efficient Hardware Architecture for Ray Tracing
## 4 Simulation Results and Analysis
### Simulation Results  
Table 6 shows our simulation results at the 850 MHz clock rate. It can be found from the simulation results that different test scenes are different in resource utilization and stack utilization rates. In general, the more complicated the test scenes, the higher the utilization rate of the stack. IST will maintain a relatively low utilization rate, and the performance will decrease. Under the configuration of a single core, our RT engine performance is from 16.59-92.74 MRPS (million rays per second). Table 7 shows that our architecture performed better than existing ray tracing architectures. To achieve performance comparison and assessment fairly, most of the performance uses the same scene with our architecture. If there are none that are the same, we list the best performance. The area data in Table 7 is the computing units of traversal and intersection without cache, except that RayCore and Two-AABB did not mention the cache area. In Table 7, the performance/area of our architecture is 193.21 MRPS/mm\({}^{2}\), which is 2.4 \(\times\) higher than the best results of other academic research. It can be found that the process (nm) significantly impacts the evaluation results. Our efficiency is also higher than RayCore [19] and Two-AABB [21] under the same process. One of the main reasons is that many architectures use SIMD or Multiple Instructions Stream Multiple Data Stream (MIMD) architectures, which are inefficient due to branching and memory access issues. Our single pipeline architecture is more efficient for ray tracing. Another key reason for the difference in performance/area is that the design goals of these architectures are different. For example, STRaTA [22], Dual Streaming [24], and Mach-RT [25] focus on the latency and conflict of memory access, so the method of multiple Thread Multiprocessors (TMs) is used. This design can effectively improve the overall performance, but there would be a lot of redundant hardware resources. RayCore [19] mainly focuses on dynamic scenes, so it is not dominant in this comparison. The focus of these designs is different from ours. RT engine's low hardware consumption comes from our careful design, algorithm improvement, and fabrication technology innovations. \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**Scene**} & **Utilization of** & **Utilization of** & **Utilization of** & **Average Steps** & **Average Step** & **Performance** \\  & **TRV** & **IST** & **Stacks** & **(TRV)** & **(IST)** & **(MRPS)** \\ \hline Conference & 99.9\% & 44.3\% & 68\% & 9.16 & 4.06 & 92.74 \\ (350K Tris) & 99.9\% & 22.1\% & 84\% & 18.71 & 4.13 & 46.99 \\ \hline Sibenik (97.5K Tris) & 99.9\% & 45.9\% & 100\% & 26.26 & 13.36 & 28.43 \\ \hline Sanmiguel (12.1M Tris) & 99.9\% & 9.1\% & 100\% & 46.64 & 4.25 & 16.59 \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Performance comparison of the proposed ray-tracing hardware. \begin{table}
\begin{tabular}{c c c c c} \hline \hline \begin{tabular}{c} **Functional** \\ **Unit** \\ \end{tabular} & **Area (mm\({}^{2}\))** & \begin{tabular}{c} **Total Area** \\ **(mm\({}^{2}\))** \\ \end{tabular} & \
\begin{tabular}{c} **Memory** \\ **Unit** \\ \end{tabular} & **Area (mm\({}^{2}\))** &
\begin{tabular}{c} **Total Area** \\ **(mm\({}^{2}\))** \\ \end{tabular} \\ \hline FP CMP & 0.00052 & 0.0135 & Stacks & 0.00431 & 0.108 \\ FP ADD & 0.00295 & 0.0384 & FIFO & 0.00379 & 0.011 \\ FP MUL & 0.00512 & 0.0819 & & & \\ FP MAC & 0.00758 & 0.129 & & & \\ FP RCP & 0.00606 & 0.00606 & & & \\ \hline Total & & & & 0.48 \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Area estimates of RT engine. MRPS/mm\({}^{2}\) is a fair unit of measurement for ray tracing hardware because it is relatively independent of the resolution of the scene rendering [37]. As can be seen from the data in Table 7, our architecture is better than other researchers' results in terms of efficiency.