E. Rivera-Alvarado
,
F.J. Torres-Rojas / Electron. Notes Theor. Comput. Sci. 349
(
2020
)
103-
对于光线跟踪,它不像典型的CPU那样在指令获取和指令解码周期另一方面,这个
解决方案只是一个功能有限的原型。此外,它是在FPGA上开发的,因为在出版时
在硅上实现设计的
使用
GPU
作为光线跟踪的默认平台的主要原因之一是
RAM-VRAM
事务频繁,与
CPU相比,GPU具有较小的缓存,因此内存事务需要更多的带宽[27][15]。考虑到
这一点,最近的举措特别关注通过
GPU
加速光线跟踪中的光线
/
对象相交
[36]
。他们
提出了一种机制来压缩发送到
GPU
内存的预处理对象的数据结构,这降低了
RAM
和
VRAM之间所需的通信带宽。这种方法的缺点是增加了每个GPU VRAM事务的数据
压缩时间。不过,这种方法只适用于需要大量内存事务的场景。
使用预处理数据结构作为加速机制的另一种方法是边界体层次(BVH)。该方
法分析场景中的每个元素,并将它们添加到边界框中,这些边界框将逐步添加到更
大的容器中,从而创建一个二叉树数据结构。通过这种方式,当光线没有穿过边界
框时,子树和容器中的所有对象都将被丢弃,从而节省了大量的处理时间[27]。 通
过这种加速机制可以获得高性能增益,因为它避免了多个射线
/
对象交叉点的不必要
计算[33]。该算法最初设想在CPU中运行,后来由[6]移植到GPU,然而,尚未找到
APU的具体实现
有一些开发旨在将
GPU
定位为通用计算平台
[31][10]
,或者找到一种优化的方式
来调度GPU(甚至不是APU中的集成GPU)[34]。 两者都是研究领域 和我们的研
究不同。
3
设计
我们专注于展示APU作为可行的架构,以提高计算密集型工作负载的性能,特别是
光线跟踪。这是相关的,因为
APU
广泛可用,并存在于许多商品硬件中
[14][20]
。
我们不仅仅是在寻找一个算法从CPU到GPU的移植,也不是对现有算法的优化。为
APU设计了一种新颖的光线跟踪算法,该算法深入了解了如何使用该架构的特定特
性来提高计算密集型工作负载的性能。例如,我们在很大程度上依赖于在集成的
GPU和CPU之间以高效的方式共享数据结构的能力,因为内存由两个处理器共享,
这避免了PCI-Express总线的通信瓶颈。 内存量可以扩展到与操作系统可用的内存
相同的内存
[16]
。此外,任务