跳到主要内容
10.1145/3178433.3178439高级会议文章/章节视图摘要出版物页面聚丙烯会议记录会议集合
研究论文

Ikra-Cpp:一种用于具有阵列结构布局的面向对象编程的C++/CUDA DSL

出版:2018年2月24日出版历史

摘要

阵列结构(SOA)是SIMD体系结构的一种研究得很好的数据布局技术。之前的工作表明,与传统的结构阵列(AOS)布局相比,它可以通过几个因素加快高性能计算中的应用程序。然而,大多数程序员都习惯于AOS风格的编程,这更容易阅读和维护。

我们介绍了Ikra-Cpp,这是一种用于C++/CUDA中面向对象编程的嵌入式DSL。Ikra-Cpp的符号非常接近于标准AOS风格的C++代码,但数据是以SOA的形式进行布局的。这使程序员能够同时获得SOA的性能优势和AOS风格的面向对象编程的表达能力。Ikra-Cpp与C++很好地集成,让程序员可以使用C++符号和语法来创建类、字段、成员函数、构造函数和实例。

工具书类

  1. 吉尔伯特·路易斯·伯恩斯坦(Gilbert Louis Bernstein)、钦梅耶·沙阿(Chinmayee Shah)、克里斯蒂尔·莱米尔(Crystal Lemire)、扎卡里·德维托(Zachary Devito)、马修·费舍尔(Matthew Fisher)、菲利普·利维斯(。2016年,Ebb:CPU和GPU上物理模拟的DSL。ACM事务处理。图表。第35、2条,第21条(2016年5月),共12页。谷歌学者谷歌学者数字图书馆数字图书馆
  2. 保罗·贝塞尔。2015年,针对在Intel Xeon处理器和Intel Xeon-Phi产品系列协处理器上运行的计算密集型循环,对AoS(Arrays of Structures)和SoA(Structures-of Arrays)数据布局进行比较的案例研究。技术报告。英特尔公司。谷歌学者谷歌学者
  3. James Brodman、Dmitry Babokin、Ilia Filippov和Peng Tu.2014年。使用ISPC(WPMVP’14)编写可扩展SIMD程序。美国医学会,25-32。谷歌学者谷歌学者数字图书馆数字图书馆
  4. E.Calore、A.Gabbana、J.Kraus、E.Pellegrini、S.F.Schifano和R.Tripiccione。2016.大型GPU集群上的大规模并行格-玻尔兹曼码。并行计算。58,C(2016年10月),1-24。谷歌学者谷歌学者数字图书馆数字图书馆
  5. 哈桑·查菲(Hassan Chafi)、阿文德·苏吉特(Arvind K.Sujeeth)、凯文·布朗(Kevin J.Brown)、HyoukJoong Lee、阿南德·阿特雷亚(Anand R.Atreya)和昆勒·奥卢科顿。2011.异构并行的领域特定方法(PPoPP’11)。美国医学会,35-46。谷歌学者谷歌学者数字图书馆数字图书馆
  6. 詹姆斯·O·科普林。1995.奇怪的循环模板模式。C++Rep.7,2(1995年2月),24-27。谷歌学者谷歌学者数字图书馆数字图书馆
  7. Pawan Harish和P.J.Narayanan。2007.使用CUDA在GPU上加速大图形算法(HiPC’07)。斯普林格·弗拉格,197--208。谷歌学者谷歌学者数字图书馆数字图书馆
  8. 德克·赫尔宾(Dirk Helbing),2012年。基于代理的建模。社会自我组织:基于代理的模拟和实验,用于研究突发性社会行为。施普林格·维拉格,25-70岁。谷歌学者谷歌学者
  9. 布鲁斯·亨德里克森和乔纳森·贝里。2008年,高性能计算的图形分析。科学与工程计算。10、2(2008年3月)、14-19。谷歌学者谷歌学者数字图书馆数字图书馆
  10. 霍尔格·霍曼和弗朗索瓦·莱恩。2017.SoAx:HPC代码中处理粒子的通用C++数组结构。ArXiv电子打印,将出现在Comm.Phys中。Comm.(2017年10月)。谷歌学者谷歌学者
  11. 保罗·哈达克。1998.模块化领域特定语言和工具(ICSR’98)。IEEE计算机学会,134-142。谷歌学者谷歌学者数字图书馆数字图书馆
  12. ISO标准。2012.ISO/IEC 14882:2011信息技术——编程语言——C++。国际标准化组织。1338页(估计)。谷歌学者谷歌学者
  13. 克劳斯·科夫勒(Klaus Kofler)、比亚吉奥·科森扎(Biagio Cosenza)和托马斯·法林格(Thomas Fahringer)。2015年,GPU的自动数据布局优化(Euro-Par 2015)。斯普林格·弗拉格,263-274。谷歌学者谷歌学者
  14. 罗兰·雷亚(Roland Leißa)、塞巴斯蒂安·哈克(Sebastian Hack)和英戈·沃尔德(Ingo Wald)。2012.为便携式SIMD编程扩展类C语言(PPoPP’12)。美国医学会,65-74。谷歌学者谷歌学者
  15. 罗兰·雷亚(Roland Leißa)、伊曼纽尔·哈夫纳(Immanuel Haffner)和塞巴斯蒂安·哈克(Sebastian Hack)。2014.Sierra:C++的SIMD扩展(WPMVP’14)。顶点,17-24。谷歌学者谷歌学者数字图书馆数字图书馆
  16. 埃里克·林德霍姆(Erik Lindholm)、约翰·尼克尔斯(John Nickolls)、斯图亚特·奥伯曼(Stuart Oberman)和约翰·蒙特里姆(John Montrym)。2008年,NVIDIA Tesla:统一图形和计算架构。IEEE Micro 28,2(2008年3月),39-55。谷歌学者谷歌学者数字图书馆数字图书馆
  17. 格列戈兹·马莱维茨、马修·奥斯汀、阿尔特·杰克·比克、詹姆斯·德内特、伊兰·霍恩、纳蒂·雷瑟和格列戈斯·查伊科夫斯基。2010年,Pregel:大尺度图形处理系统(SIGMOD’10)。顶点,135-146。谷歌学者谷歌学者数字图书馆数字图书馆
  18. 哈里斯·马克(Harris Mark),2008年。优化CUDA中的并行还原。Nvidia CUDA SDK 2(2008)。谷歌学者谷歌学者
  19. 托尼·马蒂斯(Toni Mattis)、约翰内斯·海宁(Johannes Henning)、帕特里克·雷因(Patrick Rein)、罗伯特·赫斯菲尔德(Robert Hirschfeld)和马尔特·阿佩尔(Malte Appeltauer)。2015年,《柱状物体:提高分析应用程序的性能》(2015年)。美国医学会,197--210。谷歌学者谷歌学者数字图书馆数字图书馆
  20. 刚梅和洪天。2016年,数据布局对GPU加速IDW插值效率的影响。SpringerPlus 5,1(2016年2月)。谷歌学者谷歌学者交叉引用交叉引用
  21. Marjan Mernik、Jan Heering和Anthony M.Sloane。2005.何时以及如何开发特定领域的语言。ACM计算。Surv公司。37、4(2005年12月)、316-344。谷歌学者谷歌学者数字图书馆数字图书馆
  22. 杜安·梅里尔(Duane Merrill)、迈克尔·加兰德(Michael Garland)和安德鲁·格里姆肖(Andrew Grimshaw)。2012.可扩展GPU图形遍历。SIGPLAN不是。47、8(2012年2月)、117-128。谷歌学者谷歌学者数字图书馆数字图书馆
  23. 伯特兰·梅耶(Bertrand Meyer)。1997.面向对象的软件构造(第二版)。Prentice-Hall公司。谷歌学者谷歌学者数字图书馆数字图书馆
  24. Perhaad Mistry、Dana Schaa、Byunghyun Jang、David Kaeli、Albert Dvornik和Dwight Meglan。2011.基于GPU的物理仿真的数据结构和转换。计算科学中的高性能计算——VECPAR 2010:第九届国际会议,修订论文集。斯普林格·弗拉格,162-171。谷歌学者谷歌学者数字图书馆数字图书馆
  25. Matt Pharr和William R.Mark,2012年。ispc:用于高性能CPU编程的SPMD编译器。创新并行计算(InPar)。IEEE,1-13。谷歌学者谷歌学者
  26. 维埃拉·普劳克斯。1998年,《交通仿真:面向对象设计教学案例研究》(SIGCSE’98)。美国医学会,48-52。谷歌学者谷歌学者数字图书馆数字图书馆
  27. 乔纳森·拉甘·凯利(Jonathan Ragan-Kelley)、康奈利·巴恩斯(Connelly Barnes)、安德鲁·亚当斯(Andrew Adams)、西尔万·帕里斯(Sylvain Paris)、弗莱多·杜兰德(Frédo Durand)和萨。2013年,Halide:用于优化图像处理管道中的并行性、局部性和重构的语言和编译器。SIGPLAN不是。48,6(2013年6月),519-530。谷歌学者谷歌学者数字图书馆数字图书馆
  28. P.Richmond、S.Coakley和D.M.Romano。2009年,使用CUDA的基于代理的图形卡硬件高性能建模框架(AAMAS’09)。国际自治代理和多代理系统基金会,1125-1126。谷歌学者谷歌学者数字图书馆数字图书馆
  29. Tiark Rompf、Arvind K.Sujeeth、HyoukJoong Lee、Kevin J.Brown、Hassan Chafi、Martin Odersky和Kunle Olukotun。2011.面向性能DSL的构建块(DSL’11)。93--117.谷歌学者谷歌学者
  30. 阿尔本·罗塞特(Alban Rousset)、贝内迪克特·赫尔曼(Bénédicte Herrmann)、克里斯托夫·朗(Christophe Lang)和劳伦特·菲利普(Laurent Philippe)。2016年,针对高性能计算仿真的并行和分布式多代理系统的调查。《计算机科学评论》22,补编C(2016),27-46。谷歌学者谷歌学者交叉引用交叉引用
  31. Jakob Siegel、Juergen Ributzka和Li Xiaoming,2009年。重力模拟器中大型数据结构的CUDA内存优化(ICPPW’09)。IEEE计算机学会,174-181。谷歌学者谷歌学者数字图书馆数字图书馆
  32. Matthias Springer和Hidehiko Masuhara。2016.Ruby基于数组的GPGPU扩展中的对象支持(Array 2016)。ACM,25-31。谷歌学者谷歌学者数字图书馆数字图书馆
  33. 贝内迪克特·斯特凡森(Benedikt Stefansson)。2000.在Swarm中模拟经济代理。在集群经济模拟中:基于代理的建模和面向对象编程。美国施普林格,3-61。谷歌学者谷歌学者
  34. 本贾尼·斯特劳斯特卢普。2012年,C++基础(ESOP 2012)。斯普林格·弗拉格,1-25。谷歌学者谷歌学者数字图书馆数字图书馆
  35. 罗伯特·斯特佐德卡(Robert Strzodka)。2012.第31章-C++中AoS和SoA布局的抽象。在GPU Computing Gems Jade Edition中,Wen-mei W.Hwu(编辑)。摩根·考夫曼(Morgan Kaufmann),429-441。谷歌学者谷歌学者
  36. 罗伯特·斯特佐德卡(Robert Strzodka)。2012.OpenCL中多值容器的数据布局优化。J.平行分布计算。72,9(2012年9月)。谷歌学者谷歌学者数字图书馆数字图书馆
  37. Arvind K.Sujeeth、Kevin J.Brown、Hyoukjoong Lee、Tiark Rompf、Hassan Chafi、Martin Odersky和Kunle Olukotun。2014.Delite:面向性能的嵌入式领域特定语言的编译器体系结构。ACM事务处理。嵌入。计算。系统。13、4s,第134条(2014年4月),25页。谷歌学者谷歌学者数字图书馆数字图书馆
  38. 尼古拉斯·韦伯和迈克尔·戈赛尔。2014.自动调整GPU的复杂阵列布局(PGV’14)。欧洲制图协会,57-64。谷歌学者谷歌学者数字图书馆数字图书馆
  39. 钟建龙和何炳生。2013年,图形处理器上的并行图形处理变得简单。程序。荷兰VLDB。2013年8月6日、12日、1270--1273日。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. Ikra-Cpp:一种用于具有阵列结构布局的面向对象编程的C++/CUDA DSL

        建议

        评论

        登录选项

        检查您是否可以通过登录凭据或您的机构访问本文。

        登录

        完全访问权限

        • 发布于

          封面图片ACM会议
          WPMVP’18:2018年第四届SIMD/矢量处理编程模型研讨会会议记录
          2018年2月
          68页
          国际标准图书编号:9781450356466
          内政部:10.1145/3178433

          版权所有©2018 ACM

          如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重作者以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

          出版商

          计算机协会

          美国纽约州纽约市

          出版历史

          • 出版:2018年2月24日

          权限

          请求有关此文章的权限。

          请求权限

          检查更新

          限定符

          • 研究论文
          • 研究
          • 参考有限公司

          接受率

          2018年WPMVP纸张接受率8属于12提交文件,67%总体验收率20属于30提交文件,67%

        PDF格式

        以PDF文件的形式查看或下载。

        PDF格式

        电子阅读器

        使用eReader联机查看。

        电子阅读器