首页> 外文期刊>Computers, IEEE Transactions on >Shell: A Spatial Decomposition Data Structure for Ray Traversal on GPU
【24h】

Shell: A Spatial Decomposition Data Structure for Ray Traversal on GPU

机译:Shell:在GPU上进行射线遍历的空间分解数据结构

获取原文
获取原文并翻译 | 示例

摘要

Shared memory many-core processors such as GPUs have been extensively used in accelerating computation-intensive algorithms and applications. When porting existing algorithms from sequential or other parallel architecture models to shared memory many-core architectures, non-trivial modifications are often needed to match the execution patterns of the target algorithms with the characteristics of many-core architectures. Ray traversal is a fundamental process in many applications, and is commonly accelerated by spatial decomposition schemes captured in hierarchical data structures (e.g., kd-trees). However, ray traversal using hierarchical data structures needs to conduct repeated hierarchical searches. Such search process is time-consuming on shared memory many-core architectures since it incurs considerable amounts of expensive memory accesses and execution divergence. In this paper, we propose a novel spatial decomposition based data structure, called Shell, which completely avoids hierarchical search for ray traversal. In Shell, a structure is built on the boundary of each region in the decomposed space, which allows any ray traversing in a region to find the next neighboring region to traverse using table lookup schemes, without any hierarchical search. While our ray traversal approach works for other spatial decomposition paradigms and many-core processors in higher dimensional scenes, we illustrate it using kd-tree on GPU for 3D scenario and compare with the fastest known kd-tree searching algorithms for ray traversal. Experimental results in graphics ray tracing and radiation dose calculation show that our approach improves the performance by 3.5-5.5 over the fastest known kd-tree based approaches.
机译:诸如GPU之类的共享内存的多核处理器已广泛用于加速计算密集型算法和应用程序。当将现有算法从顺序或其他并行体系结构模型移植到共享内存的多核体系结构时,通常需要进行不小的修改,以使目标算法的执行模式与多核体系结构的特征相匹配。射线遍历是许多应用程序中的基本过程,通常通过分层数据结构(例如kd树)中捕获的空间分解方案来加速。但是,使用分层数据结构的射线遍历需要进行重复的分层搜索。这种搜索过程在共享内存多核体系结构上非常耗时,因为它会导致大量昂贵的内存访问和执行差异。在本文中,我们提出了一种新颖的基于空间分解的数据结构,称为Shell,它完全避免了对射线遍历的分层搜索。在Shell中,在分解空间中每个区域的边界上构建了一个结构,该结构允许在区域中传播的所有光线使用表查找方案找到要遍历的下一个相邻区域,而无需进行任何层次搜索。虽然我们的射线遍历方法适用于其他空间分解范例和高维场景中的多核处理器,但我们在3D场景中使用GPU上的kd树对其进行了说明,并与已知的最快的kd树搜索算法进行了射线遍历。图形射线追踪和辐射剂量计算的实验结果表明,与基于最快的已知kd树的方法相比,我们的方法将性能提高了3.5-5.5。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号