跳到主要内容
10.1145/3136040.3136044高级会议文章/章节视图摘要出版物页面通用电气公司会议记录会议集合
研究论文

RaTrace:BVH射线遍历算法的简单高效抽象

出版:2017年10月23日 出版历史
  • 获取引文警报
  • 摘要

    为了获得尽可能高的性能,每个高性能光线跟踪器核心的光线遍历和交集例程通常都是手工编码的,经过了高度优化,并针对每个硬件平台分别实现,尽管它们共享大部分算法核心。结果是实现将算法方面与硬件和实现细节严重混合,使得代码不可移植,很难更改和维护。
    在本文中,我们提出了一种新的方法,该方法能够在函数语言中定义一组概念性的高级语言抽象,这些抽象通过特殊编译器进行优化,以最大限度地提高性能。使用此抽象机制,我们将通用光线遍历和相交算法与其特定于目标硬件的低级方面分离开来。我们证明了我们的代码不仅更加灵活、编写更简单、更简洁,而且编译后的结果在任何测试的CPU和GPU平台上都能执行得很好,并且实现了最先进的实现。

    工具书类

    [1]
    蒂莫·艾拉和萨穆利·莱恩。2009年,了解GPU上光线穿越的效率。《高性能图形会议记录》(HPG)。ACM,145–149。
    [2]
    Timo Aila、Samuli Laine和Tero Karras。2012.了解GPU上光线穿越的效率-开普勒和费米补遗。技术报告NVR-2012-002。NVIDIA技术报告。
    [3]
    L·O·安徒生。C编程语言的程序分析和专业化。博士论文。科本哈文斯大学。数据逻辑研究所。
    [4]
    P.H.安徒生。1995年,部分评估应用于射线追踪。DIKU研究报告95/2。
    [5]
    Rasmus Barringer和Tomas Akenine-Möller。2014.动态射线流穿越。ACM事务处理。图表。33,4,第151条(2014),9页。
    [6]
    卡斯滕·本廷和英戈·沃尔德。2009年。使用多Frusta跟踪的高效光线跟踪软阴影。高性能图形。
    [7]
    Carsten Benthin、Ingo Wald、Sven Woop、Manfred Ernst和William R.Mark,2012年。针对Intel MIC体系结构上的任意光线分布,结合单光线跟踪和数据包光线跟踪。IEEE可视化和计算机图形学报18,9(2012),1438-1448。
    [8]
    Kevin J.Brown、Arvind K.Sujeeth、Hyouk Joong Lee、Tiark Rompf、Hassan Chafi、Martin Odersky和Kunle Olukotun。2011.领域特定语言的异构并行框架。在第12届并行体系结构和编译技术国际会议(PACT)上。89–100.
    [9]
    雅克·卡雷特(Jacques Carette)、奥列格·基塞利约夫(Oleg Kiselyov)和尚仲秋(Chung-chieh Shan)。2009年。最终无标签,部分评估:为简单类型语言提供无标签阶段口译员。J.功能。程序。19, 5 (2009), 509–543.
    [10]
    哈桑·查菲(Hassan Chafi)、扎克·德维托(Zach DeVito)、阿德里亚·摩尔(Adriaan Moors)、蒂亚克·隆普夫(Tiark Rompf)、阿文德·苏吉特(Arvind K.Sujeeth)、帕特·汉拉罕(Pat Hanrahan)、马丁·奥德斯基(Martin。2010.异构并行计算的语言虚拟化。第25届ACM SIGPLAN面向对象编程、系统、语言和应用(OOPSLA)年会论文集。835– 847.
    [11]
    Charisee Chow、Gordon Kindlmann、John Reppy、Lamont Samuels和Nick Seltzer。2012.狄德罗:用于图像分析和可视化的并行DSL。第33届ACM SIGPLAN编程语言设计与实现(PLDI)会议论文集。ACM,111–120。
    [12]
    罗伯特·库克(Robert L.Cook)、托马斯·波特(Thomas Porter)和洛伦·卡彭特(Loren Carpenter)。1984.分布式光线跟踪。SIGGRAPH计算。图表。18, 3 (1984), 137–145.
    [13]
    霍尔格·达默茨(Holger Dammertz)、约翰内斯·哈尼卡(Johannes Hanika)和亚历山大·凯勒(Alexander Keller)。2008.非相干射线快速SIMD射线跟踪的浅边界体积层次结构。《第十九届欧洲制图会议论文集》,欧洲制图协会,1225-1233。
    [14]
    扎克·德维托(Zach DeVito)、尼尔斯·朱伯特(Niels Joubert)、弗朗西斯科·帕拉西奥斯(Francisco Palacios)、斯蒂芬·奥克利(Stephen Oakley)、蒙特塞拉特·麦地那(Montserrat Medina)、迈克·巴里恩托斯(Mike Barrientos)、埃里希·埃尔森(Erich Elsen)、弗兰克·哈姆(Frank。2011.Liszt:用于构建基于网格的可移植PDE解算器的领域特定语言。在高性能计算网络、存储和分析(SC)会议上。9:1–9:12.
    [15]
    蒂姆·福利和杰里米·苏格曼。2005.GPU Raytracer的KD树加速结构。在ACM SIGGRAPH/EU-ROGRAPHICS图形硬件会议记录中。ACM,15-22岁。
    [16]
    伊利扬·乔治耶夫和菲利普·斯拉萨勒克。2008年。RTfact:灵活和高性能光线跟踪的通用概念。在IEEE交互式射线追踪(RT)研讨会上。115–122.
    [17]
    约翰内斯·冈瑟(Johannes Gunther)、斯特凡·波波夫(Stefan Popov)、汉斯·彼得·塞德尔(Hans-Peter Seidel)和菲利普·斯拉萨莱克(Philipp Slasallek)。2007.使用基于BVH的数据包遍历在GPU上进行实时光线跟踪。2007年IEEE交互式光线追踪研讨会论文集。113–118.
    [18]
    莫里斯·霍尔斯特德。1977.软件科学要素(操作和编程系统系列)。爱思唯尔科学公司。
    [19]
    克里斯蒂安·霍弗、克劳斯·奥斯特曼、蒂尔曼·伦德尔和阿德里安摩尔人。2008.DSL的多态嵌入。第七届生成程序设计和组件工程国际会议(GPCE)论文集。137–148.
    [20]
    丹尼尔·雷特·霍恩(Daniel Reiter Horn)、杰里米·苏格曼(Jeremy Sugerman)、迈克·休斯顿(Mike Houston)和帕特·汉拉汉(Pat Hanrahan)。2007.交互式K-d树GPU光线追踪。交互式3D图形和游戏研讨会论文集。美国医学会,167-174。
    [21]
    P.哈达克。1998年,模块化领域特定语言和工具。第五届软件重用国际会议(ICSR)论文集。IEEE计算机学会,134–。http://dl.acm.org/citation.cfm?编号:551789.853532
    [22]
    蒂莫西·凯(Timothy L.Kay)和詹姆斯·卡吉亚(James T.Kajiya)。1986年,光线追踪复杂场景。SIGGRAPH计算。图表。20, 4 (1986), 269–278.
    [23]
    罗兰·雷亚(Roland Leißa)、克拉斯·博埃西(Klaas Boesche)、塞巴斯蒂安·哈克(Sebastian Hack)、理查德·蒙巴思(Richard Membarth)和菲利普·斯拉萨莱克(Philipp Slusallek)。2015年,通过在线部分评估浅埋DSL。第14届生成性编程国际会议论文集:概念与;经验(GPCE)。ACM,11–20。
    [24]
    罗兰·雷亚(Roland Leißa)、马塞尔·科斯特(Marcel Köster)和塞巴斯蒂安·哈克(Sebastian Hack)。2015.基于图形的高阶中间表示。在代码生成和优化(CGO)国际研讨会上。IEEE,202-212。
    [25]
    理查德·门巴思(Richard Membarth)、奥利弗·雷切(Oliver Reiche)、弗兰克·汉尼格(Frank Hannig)、尤尔根·泰奇(Jürgen Teich)、马里奥·科纳(Mario Körner)和威兰德·埃克特。2016.HIPA cc:图像处理领域专用语言和编译器。IEEE传输。平行配送系统。27, 1 (2016), 210–224.
    [26]
    托马斯·莫勒和本·特朗博尔。1997.快速、最小存储RayTriangle交叉口。J.图形、GPU和;游戏工具2,1(1997)。
    [27]
    Chris J.Newburn、Byoungro So、Zhenying Liu、Michael D.McCool、Anwar M.Ghuloum、Stefanus Du Toit、Zhi-Gang Wang、Zhaohui Du、Yongjian Chen、Gansha Wu、Peng Guo、Zhanglin Liu和Dan Zhang。2011.Intel的数组构建块:一种可重定向的动态编译器和嵌入式语言。第九届代码生成与优化国际研讨会论文集。224–235.
    [28]
    NVIDIA公司。2014.白皮书:NVIDIA GeForce GTX 980。技术报告。NVIDIA公司。
    [29]
    乔治·奥芬贝克(Georg Ofenbeck)、蒂亚克·隆普夫(Tiark Rompf)、阿伦·斯托亚诺夫(Alen Stojanov)、马丁·奥德斯基(Martin Odersky)和马库斯·普舍尔(Markus Püschel)。2013年,《Scala螺旋:性能库生成器的系统化构建》。在生成性编程国际会议上:概念和;经验(GPCE)。125–134.
    [30]
    史蒂文·帕克、威廉·马丁、彼得·派克·J·斯隆、彼得·雪莉、布莱恩·斯密茨和查尔斯·汉森。1999.交互式光线跟踪。交互式3D图形研讨会论文集。美国医学会,119-126。
    [31]
    史蒂文·帕克(Steven G.Parker)、詹姆斯·比格勒(James Bigler)、安德烈亚斯·迪特里希(Andreas Dietrich)、海科·弗里德里希(Heiko Friedrich)、贾里德·霍伯洛克(Jared Hoberock)、大卫·卢贝克(David Luebke)、大卫·麦卡利斯特(David McAllister。2010年OptiX:通用光线跟踪引擎。ACM图形交易(2010年)。
    [32]
    M.Pharr和W.R.Mark,2012年。ispc:用于高性能CPU编程的SPMD编译器。In Proceedings of In In创新并行计算(InPar)。
    [33]
    乔纳森·拉甘·凯利(Jonathan Ragan-Kelley)、康奈利·巴恩斯(Connelly Barnes)、安德鲁·亚当斯(Andrew Adams)、西尔万·帕里斯(Sylvain Paris)、弗莱多·杜兰德(Frédo Durand)和萨曼。2013.Halide:一种语言和编译器,用于优化图像处理管道中的并行性、局部性和重新计算。在ACM SIGPLAN编程语言设计与实现(PLDI)会议上。519–530.
    [34]
    亚历山大·雷谢托夫(Alexander Reshetov)、阿列克谢·索皮科夫(Alexei Soupikov)和吉姆·赫尔利(Jim Hurley)。2005.多级光线跟踪算法。ACM事务处理。图表。24, 3 (2005), 1176–1185.
    [35]
    蒂亚克·隆普夫(Tiark Rompf)和马丁·奥德斯基(Martin Odersky)。2010.轻量级模块化分段:一种实用的运行时代码生成和编译DSL方法。第十届生成程序设计和组件工程国际会议(GPCE)论文集。127–136.
    [36]
    凯·塞尔格勒(Kai Selgrad)、亚历山大·利尔(Alexander Lier)、弗兰兹·科弗尔(Franz Köferl)、马克·斯塔明格(Marc Stamminger)和丹尼尔·洛曼(Daniel Lohmann)。2015.高性能图形应用的轻量级、生成性变体探索。在第14届生成程序设计国际会议论文集:概念与方法;经验(GPCE)。ACM,141-150。
    [37]
    马丁·斯蒂奇(Martin Stich)、海科·弗里德里希(Heiko Friedrich)和安德烈亚斯·迪特里希(Andreas Dietrich)。2009.边界体积层次中的空间分裂。在高性能图形会议(HPG)的会议记录中。ACM,7–13。
    [38]
    Arvind K.Sujeeth、HyoukJoong Lee、Kevin J.Brown、Tiark Rompf、Hassan Chafi、Michael Wu、Anand R.Atreya、Martin Odersky和Kunle Olukotun。2011。OptiML:一种用于机器学习的隐含并行领域特定语言。第28届国际机器学习会议(ICML)论文集。609–616.
    [39]
    约翰·A·察科。2009.更快的非相干射线:多BVH射线流跟踪。在高性能图形会议(HPG)的会议记录中。美国医学会,151-158。
    [40]
    英戈·沃尔德。2005年,OpenRT-API。在ACM SIGGRAPH课程中。ACM,第21条。
    [41]
    英戈·沃尔德(Ingo Wald)、卡斯滕·本廷(Carsten Benthin)和所罗门·博洛斯(Solomon Boulos)。2008.丢弃数据包:使用多分支BVH的高效SIMD单射线遍历。在IEEE/Eurographics交互式光线追踪研讨会上。49–57.
    [42]
    Ingo Wald、Philipp Slasallek、Carsten Benthin和Markus Wagner。2001.具有相干光线跟踪的交互式渲染。计算机图形论坛(2001年)。
    [43]
    英戈·沃尔德(Ingo Wald)、斯文·伍普(Sven Woop)、卡斯滕·本廷(Carsten Benthin)、格雷戈里·约翰逊(Gregory S.Johnson)和曼弗雷德·恩斯特(Manfred Ernst)。2014.Embree:高效CPU光线跟踪的核心框架。ACM事务处理。图表。33,4,第143条(2014),8页。
    [44]
    斯文·伍普。2004.动态场景的光线跟踪硬件架构。技术报告。萨尔州大学。

    引用人

    查看全部
    • (2019)啮齿动物ACM图形事务10.1145/3306346.332295538:4(1-12)在线发布日期:2019年7月12日
    • (2018)AnyDSL:编程高性能库的部分评估框架美国计算机学会程序设计语言会议录10.1145/32764892:OOPSLA公司(1-30)在线发布日期:2018年10月24日
    • (2018)幻影光线-Hair相交器计算机图形和交互技术ACM会议录10.1145/32333071:2(1-22)在线发布日期:2018年8月24日
    • 显示更多引用者

    建议

    评论

    信息和贡献者

    问询处

    发布于

    封面图片ACM会议
    GPCE 2017:第16届ACM SIGPLAN生成性编程国际会议记录:概念和经验
    2017年10月
    258页
    国际标准图书编号:9781450355247
    DOI(操作界面):10.1145/3136040
    • 封面图片ACM SIGPLAN注意事项
      ACM SIGPLAN通知 第52卷第12期
      GPCE’17
      2017年12月
      258页
      国际标准编号:0362-1340
      EISSN公司:1558-1160
      DOI(操作界面):10.1145/3170492
      期刊目录
    如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重作者以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护].

    赞助商

    合作中

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2017年10月23日

    权限

    请求对此文章的权限。

    检查更新

    作者标记

    1. 计算机制图
    2. 领域特定语言
    3. 函数式编程
    4. 光线跟踪

    限定符

    • 研究文章

    资金来源

    会议

    2017年飞溅
    SPLASH’17:系统、编程、语言和应用会议:人类软件
    2017年10月23日至24日
    不列颠哥伦比亚省,加拿大温哥华

    接受率

    总体接受率180份提交文件中的56份,31%

    即将召开的会议

    GPCE’24
    第23届ACM SIGPLAN生成性编程国际会议:概念和经验
    2024年10月21日至22日
    帕萨迪纳,加利福尼亚州,美国

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 下载次数(过去12个月)16
    • 下载次数(最近6周)0

    其他指标

    引文

    引用人

    查看全部
    • (2019)啮齿动物ACM图形事务10.1145/3306346.332295538:4(1-12)在线发布日期:2019年7月12日
    • (2018)AnyDSL:编程高性能库的部分评估框架美国计算机学会程序设计语言会议录10.1145/32764892:OOPSLA公司(1-30)在线发布日期:2018年10月24日
    • (2018)幻影光线-Hair相交器计算机图形和交互技术ACM会议录10.1145/32333071:2(1-22)在线发布日期:2018年8月24日
    • (2018)用于实时三维场景理解的自动矢量化研究2018年第四届SIMD/矢量处理编程模型研讨会会议记录10.1145/3178433.3178438(1-8)在线发布日期:2018年2月24日
    • (2018)基于部分求值的两两交互并行计算统一代码生成2018年第17届并行与分布式计算国际研讨会(ISPDC)10.1109/ISPDC2018.2018.00012(17-24)在线发布日期:2018年6月

    视图选项

    获取访问权限

    登录选项

    完全访问权限

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享