跳到主要内容
研究论文
公共访问

Spatial:应用加速器的语言和编译器

出版:2018年6月11日出版历史
跳过抽象节

摘要

业界越来越多地转向FPGA和CGRA等可重构架构,以提高性能和能效。不幸的是,这些架构的采用受到了其编程模型的限制。HDL缺乏生产力的抽象,很难从高级语言中找到目标。HLS工具生产效率更高,但提供了软件和硬件抽象的特殊组合,这使得性能优化变得困难。

在这项工作中,我们描述了一种新的领域特定语言和编译器Spatial,用于更高级别的应用程序加速器描述。我们描述了Spatial以硬件为中心的程序员生产力和设计性能抽象,并总结了支持这些抽象所需的编译器过程,包括管道调度、自动内存银行和由主动机器学习驱动的自动设计调优。我们演示了该语言从通用源代码中针对FPGA和CGRA的能力。我们表明,在Amazon EC2 F1实例上针对Xilinx UltraScale+VU9P FPGA时,用Spatial编写的应用程序平均缩短了42%,比SDAccel HLS平均加速2.9倍。

跳过补充材料部分

补充材料

第296-koepling.webm页

网络管理

128.9 MB

工具书类

  1. 2015年,MyHDL。http://www.myhdl.org/。谷歌学者谷歌学者
  2. 2015.Vivado设计套件2015.1用户指南。谷歌学者谷歌学者
  3. 2016年,Vivado高级合成。http://www.xilinx.com/products/design-tools/vivado/integration/esl-design.html。谷歌学者谷歌学者
  4. 2017年,EC2 F1实例与FPGA现已普遍可用。aws.amazon.com/blogs/aws/ec2-f1-instances-with-fpgas-now-generally-available/。谷歌学者谷歌学者
  5. 2017.Intel FPGA SDK for OpenCL。https://www.altera.com/products/design-software/embedded-software-developers/opencl/overview.html。谷歌学者谷歌学者
  6. 2017.Neon 2.0:针对Intel架构进行优化。https://www.intelnervana.com/neon-2-0-optimized-for-intel-architectures/。谷歌学者谷歌学者
  7. 2017年,Wave Computing推出机器学习设备。https://www.top500.org/news/wave-computing-launches-machine-learning-appliance/。谷歌学者谷歌学者
  8. 阿文德。2003年。Bluespec:硬件设计、仿真、合成和验证语言。邀请谈话。第一届ACM和IEEE联合设计形式方法和模型国际会议论文集(MEMOCODE’03)IEEE计算机学会,美国华盛顿特区,249-。http://dl.acm.org/citation.cfm?id=823453.823860谷歌学者谷歌学者数字图书馆数字图书馆
  9. J.Bachrach、Huy Vo、B.Richards、Yunsup Lee、A.Waterman、R.Avizienis、J.Wawrzynek和K.Asanovic。2012.Chisel:用Scala嵌入式语言构建硬件。设计自动化会议(DAC),2012年第49届ACM/EDAC/IEEE. 1212-1221.谷歌学者谷歌学者数字图书馆数字图书馆
  10. 大卫·培根(David Bacon)、罗德里克·拉巴(Rodric Rabbah)和苏尼尔·舒克拉(Sunil Shukla)。2013.大众FPGA编程。排队第11、2条,第40条(2013年2月),共13页。谷歌学者谷歌学者数字图书馆数字图书馆
  11. 布鲁诺·博丹、路易吉·纳尔迪、M.泽珊·齐亚、哈里·瓦格斯塔夫、戈文德·斯雷卡·谢诺伊、穆拉利·埃马尼、约翰·马沃、克里斯托斯·科采利迪斯、安迪·尼斯贝特、米克尔·卢扬、比约恩·弗兰克、保罗·H.J.凯利和迈克尔·奥博伊尔。2016年,将算法参数纳入3D场景理解中的基准测试和设计空间探索。PACT公司.谷歌学者谷歌学者数字图书馆数字图书馆
  12. Andrew Canis、Jongsok Choi、Mark Aldham、Victor Zhang、Ahmed Kammooa、Jason H.Anderson、Stephen Brown和Tomasz Czajkowski。2011.LegUp:基于FPGA的处理器/加速器系统的高级综合。第19届ACM/SIGDA现场可编程门阵列国际研讨会论文集(FPGA’11)美国纽约州纽约市ACM,33-36。谷歌学者谷歌学者数字图书馆数字图书馆
  13. C.Cascaval、S.Chatterjee、H.Franke、K.J.Gildea和P.Pattnaik。2010。加速器体系结构及其编程模型的分类。IBM研究与开发杂志54,5(2010年9月),5:1-5:10。谷歌学者谷歌学者数字图书馆数字图书馆
  14. Nitin Chugh、Vinay Vasista、Suresh Purini和Uday Bondhugula。2016.用于加速FPGA上图像处理管道的DSL编译器。并行体系结构和编译技术(PACT),2016年国际会议IEEE,327-338。谷歌学者谷歌学者数字图书馆数字图书馆
  15. 比约恩·德萨特(Bjorn De Sutter)、普拉文·拉格万(Praveen Raghavan)和安迪·兰布雷希茨(Andy Lambrechts)。2013粗粒度可重构阵列体系结构纽约州纽约市斯普林格,邮编:553-592。谷歌学者谷歌学者
  16. 凯文·法塔哈里安、丹尼尔·雷特·霍恩、蒂莫西·奈特、拉克洪·利姆、迈克·休斯顿、纪扬·帕克、马坦·埃雷斯、曼曼·伦、亚历克斯·艾肯、威廉·戴利和帕特·汉拉罕。2006年,《红杉:内存层次编程》。2006年ACM/IEEE超级计算会议记录(SC'06)ACM,美国纽约州纽约市,第83条。谷歌学者谷歌学者数字图书馆数字图书馆
  17. V.Govindaraju、C.H.Ho、T.Nowatzki、J.Chhugani、N.Satish、K.Sankaralingam和C.Kim。2012.DySER:能源效率计算的统一功能和并行专业化。IEEE微型32,5(2012年9月),38-51。谷歌学者谷歌学者数字图书馆数字图书馆
  18. 普拉巴特·K·古普塔。2015.数据中心Xeon+FPGA平台。http://www.ece.cmu.edu/~calcm/carl/lib/exe/fetch.php?媒体=carl15-gupta.pdf。谷歌学者谷歌学者
  19. 詹姆斯·赫加蒂、约翰·布伦哈弗、扎卡里·德维托、乔纳森·拉甘·凯利、诺伊·科恩、史蒂文·贝尔、阿特姆·瓦西里耶夫、马克·霍洛维茨和帕特·汉拉罕。2014.暗室:将高级图像处理代码编译到硬件管道中。ACM事务处理。图表。33, 4 (2014), 144-1.谷歌学者谷歌学者数字图书馆数字图书馆
  20. 詹姆斯·赫加蒂、罗斯·戴利、扎卡里·德维托、乔纳森·拉甘·凯利、马克·霍洛维茨和帕特·汉拉罕。2016.Rigel:灵活的多速率图像处理硬件。ACM图形事务处理(TOG)35, 4 (2016), 85.谷歌学者谷歌学者数字图书馆数字图书馆
  21. 英特尔。2015.先进的NAND闪存单芯片存储解决方案。www.altera.com/b/nand-flash-memory-controller.html_ga=2.108749825.2041564619.1502344247-21903935.1501673108。谷歌学者谷歌学者
  22. David Koeplinger、Raghu Prabhakar、Yaqi Zhang、Christina Delimitrou、Christos Kozyrakis和Kunle Olukotun。2016.可重构硬件高效加速器的自动生成。计算机体系结构国际研讨会(ISCA).谷歌学者谷歌学者数字图书馆数字图书馆
  23. 刘延强(Yanqiang Liu)、姚丽(Yao Li)、熊维伦(Weilun Xiong)、孟来(Meng Lai)、程晨(Cheng Chen)、齐正伟(Zhengwei Qi)和关海兵(Haibing Guan)。2017.基于Scala的FPGA设计流程。2017 ACM/SIGDA现场可编程门阵列国际研讨会论文集美国医学会,286-286。谷歌学者谷歌学者数字图书馆数字图书馆
  24. Maxeler Technologies公司。2011.MaxCompiler白皮书。谷歌学者谷歌学者
  25. 理查德·门巴思(Richard Membarth)、奥利弗·雷切(Oliver Reiche)、弗兰克·汉尼格(Frank Hannig)、尤尔根·泰奇(Jürgen Teich)、马里奥·科纳(Mario Körner)和威兰德·埃克特。2016年,Hipa cc:一种用于图像处理的领域特定语言和编译器。IEEE并行和分布式系统汇刊27, 1 (2016), 210-224.谷歌学者谷歌学者数字图书馆数字图书馆
  26. Razvan Nane、Vlad-Mihai Sima、Christian Pilato、Jongsok Choi、Blair Fort、Andrew Canis、Yu Ting Chen、Hsuan Xiao、Stephen Brown、Fabrizio Ferrandi等,2016年。fpga高级综合工具的调查与评估。IEEE集成电路和系统计算机辅助设计汇刊35,10(2016),1591-1604。谷歌学者谷歌学者数字图书馆数字图书馆
  27. Luigi Nardi、Bruno Bodin、Sajad Saeedi、Emanuele Vespa、Andrew J.Davison和Paul H.J.Kelly。2017.算法性能-使用HyperMapper的3D视觉应用程序中的精度权衡。iWAPTIPDPS. http://arxiv.org/abs/1702.00505谷歌学者谷歌学者
  28. Luigi Nardi、Bruno Bodin、M Zeeshan Zia、John Mawer、Andy Nisbet、Paul HJ Kelly、Andrew J Davison、Mikel Luján、Michael FP O'Boyle、Graham Riley等,2015年。介绍SLAMBench,一种用于SLAM的性能和准确性基准测试方法。ICRA公司.谷歌学者谷歌学者
  29. 欧阳健、林世鼎、魏起、王勇、俞伯渝和宋江。2014.SDA:大型DNN系统的软件定义加速器(热芯片26).谷歌学者谷歌学者
  30. Angshuman Parashar、Michael Pellauer、Michael Adler、Bushra Ahsan、Neal Crago、Daniel Lustig、Vladimir Pavlov、Antonia Zhai、Mohit Gambhir、Aamer Jaleel、Randy Allmon、Rachid Rayess、Stephen Maresh和Joel Emer.2013年。触发指令:空间规划建筑的控制范式。第40届计算机体系结构国际年会(ISCA’13)会议记录美国纽约州纽约市ACM,142-153。谷歌学者谷歌学者数字图书馆数字图书馆
  31. Angshuman Parashar、Minsoo Rhu、Anurag Mukkara、Antonio Puglielli、Rangharajan Venkatesan、Brucek Khailany、Joel Emer、Stephen W Keckler和William J Dally。2017.SCNN:压缩解析卷积神经网络加速器。第44届计算机体系结构国际年会论文集.美国医学会,27-40。谷歌学者谷歌学者数字图书馆数字图书馆
  32. Raghu Prabhakar、Yaqi Zhang、David Koeplinger、Matthew Feldman、Tian Zhao、Stefan Hadjis、Ardavan Pedram、Christos Kozyrakis和Kunle Olukotun。2017年,《Plasticine:平行专利的可重构架构》。2017年6月24日至28日,加拿大安大略省多伦多市,第44届计算机体系结构国际研讨会会议记录. 389-402.谷歌学者谷歌学者数字图书馆数字图书馆
  33. 景璞、史蒂文·贝尔、宣扬、杰夫·塞特、斯蒂芬·理查森、乔纳森·拉甘·凯利和马克·霍洛维茨。2016.从图像处理DSL编程异构系统。CoRR公司abs/1610.09405(2016)。arXiv:1610.09405http://arxiv.org/abs/1610.09405谷歌学者谷歌学者
  34. Andrew Putnam、Adrian M.Caulfield、Eric S.Chung、Derek Chiou、Kypros Constantinides、John Demme、Hadi Esmaeilzadeh、Jeremy Fowers、Gopi Prashanth Gopal、Jan Gray、Michael Haselman、Scott Hauck、Stephen Heil、Amir Hormati、Joo Young Kim、Sitaram Lanka、James Larus、Eric Peterson、Simon Pope、Aaron Smith、Jason Thong、Phillip Yi Xiao,和道格·伯格。2014.用于加速大型数据中心服务的可重新配置结构。第41届计算机建筑国际年会(ISCA’14)会议记录IEEE出版社,美国新泽西州皮斯卡塔韦,13-24。http://dl.acm.org/citation.cfm?id=2665671.2665678谷歌学者谷歌学者数字图书馆数字图书馆
  35. 乔纳森·拉甘·凯利(Jonathan Ragan-Kelley)、康奈利·巴恩斯(Connelly Barnes)、安德鲁·亚当斯(Andrew Adams)、西尔万·帕里斯(Sylvain Paris)、弗莱多·杜兰德(Frédo Durand)和萨。2013年,Halide:一种用于优化图像处理管道中的并行性、局部性和重新计算的语言和编译器。第34届ACM SIGPLAN编程语言设计与实现会议记录(PLDI’13)美国纽约州纽约市ACM,邮编:519-530。谷歌学者谷歌学者数字图书馆数字图书馆
  36. 萨贾德·赛迪、路易吉·纳尔迪、爱德华·约翰斯、布鲁诺·博丹、保罗·凯利和安德鲁·戴维森。2017.面向应用的SLAM算法设计空间探索。ICRA公司.谷歌学者谷歌学者
  37. Ofer Shacham公司。2011芯片多处理器生成器:自定义和异构计算平台的自动生成斯坦福大学。谷歌学者谷歌学者
  38. Yakun Sophia Shao、Brandon Reagen、Gu-Yeon Wei和David Brooks。2014.阿拉丁:一个前RTL、功率性能加速器模拟器,支持对定制架构进行大规模设计空间探索。2014年ACM/IEEE第41届计算机体系结构国际研讨会IEEE标准,97-108。谷歌学者谷歌学者数字图书馆数字图书馆
  39. Arvind K.Sujeeth、Kevin J.Brown、Hyouk Joong Lee、Tiark Rompf、Hassan Chafi、Martin Odersky和Kunle Olukotun。2014.Delite:面向性能的嵌入式领域特定语言的编译器体系结构。TECS’14:ACM嵌入式计算系统交易.谷歌学者谷歌学者数字图书馆数字图书馆
  40. 斯瓦加特·文卡塔拉马尼(Swagath Venkataramani)、阿什什·兰詹(Ashish Ranjan)、苏巴诺·巴内吉(Subarno Banerjee)、迪班卡·达斯(Dipankar Das)、萨西坎斯·阿文查(Sasikanth Avancha)、阿肖克·贾甘纳森(Ashok Jagannathan)、亚贾亚·杜尔格(Ajaya Durg)、德曼。2017.ScaleDeep:用于学习和评估深度网络的可扩展计算架构。第44届计算机体系结构国际年会(ISCA’17)会议记录美国纽约州纽约市ACM,13-26。谷歌学者谷歌学者数字图书馆数字图书馆
  41. 王玉欣(Yuxin Wang)、李鹏(Peng Li)和詹森·聪(Jason Cong),2014年。高级综合中广义内存分区的理论和算法。2014年ACM/SIGDA现场可编程门阵列国际研讨会论文集(FPGA’14)ACM,美国纽约州纽约市,199-208年。谷歌学者谷歌学者数字图书馆数字图书馆
  42. 锡林克斯。2014.锡林克斯SDAccel开发环境。https://www.xilinx.com/publications/prod_mktg/sdx/sdaccel-backgrounder.pdf。谷歌学者谷歌学者
  43. 锡林克斯。2017年,HLS Pragmas。https://www.xilinx.com/html_docs/xilinx2017_2/sdaccel_doc/topics/pragmas/concept-Intro_to_HLS_pragas.html。谷歌学者谷歌学者
  44. 锡林克斯。2017.SDAccel DATAFLOW杂注。https://www.xilinx.com/html_docs/xilinx2017_2/sdaccel_doc/topics/pragmas/ref-pragma_HLS_dataflow.html。谷歌学者谷歌学者
  45. 锡林克斯。2017.SDAccel示例库。https://github.com/Xilinx/SDAccel_Examples。谷歌学者谷歌学者

索引术语

  1. Spatial:应用加速器的语言和编译器

          建议

          评论

          登录选项

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

          登录

          完全访问权限

          • 发布于

            封面图片ACM SIGPLAN注意事项
            ACM SIGPLAN通知 第53卷第4期
            2018年PLDI
            2018年4月
            834页
            国际标准编号:0362-1340
            EISSN公司:1558-1160
            内政部:10.1145/3296979
            期刊目录
            • 封面图片ACM会议
              PLDI 2018:第39届ACM SIGPLAN编程语言设计与实现会议记录
              2018年6月
              825页
              国际标准图书编号:9781450356985
              内政部:10.1145/3192366

            版权所有©2018 ACM

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

            出版商

            计算机协会

            美国纽约州纽约市

            出版历史

            • 出版:2018年6月11日

            检查更新

            限定符

            • 研究论文

          PDF格式

          以PDF文件查看或下载。

          PDF格式

          电子阅读器

          使用eReader联机查看。

          电子阅读器