跳到主要内容
10.1145/3575693.3576933高级会议文章/章节视图摘要出版物页面阿斯普洛斯会议记录会议集合
研究论文
开放式访问

TensorIR:一种自动张力化程序优化的抽象方法

出版:2023年1月30日 出版历史
  • 获取引文提醒
  • 摘要

    在各种设备上部署深度学习模型已成为一个重要主题。硬件专业化的浪潮为多维十或运算带来了一组不同的加速原语。这些新的加速原语,以及新兴的机器学习模型,带来了巨大的工程挑战。在本文中,我们提出了TensorIR,这是一种编译器抽象,用于使用这些张量计算原语优化程序。TensorIR推广了现有机器学习编译器中使用的循环嵌套表示,使张量计算成为一流公民。最后,我们在抽象的基础上构建了一个端到端框架,以自动优化给定张量计算原语的深度学习模型。实验结果表明,TensorIR编译自动使用给定硬件后端的张量计算原语,并提供了与跨平台的先进手动优化系统相竞争的性能。

    工具书类

    [1]
    马丁·阿巴迪(Martín Abadi)、保罗·巴勒姆(Paul Barham)、陈建民(Jianmin Chen)、陈志峰(Zhifeng Chen),安迪·戴维斯(Andy Davis)、杰弗里·迪恩(Jeffrey Dean)、马蒂厄·德文(Matthieu Devin)、桑杰·盖马瓦特(Sanjay Ghemawat。2016年,Tensorflow:大规模机器学习系统。在第12届$USENIX$操作系统设计和实现研讨会上($OSDI$16)。265–283.
    [2]
    安德鲁·亚当斯(Andrew Adams)、卡里马·马(Karima Ma)、卢克·安德森(Luke Anderson)、利雅得·巴格达迪(Riyadh Baghdadi)、李祖茂(Tzu-Mao Li)、米歇尔·加尔比(Michaöl Gharbi)、贝诺伊特·施泰纳(Benoit Steiner)、史蒂文·。2019.学习使用树搜索和随机程序优化卤化物。ACM图形交易(TOG),38,4(2019),1-12。
    [3]
    臂。2017.ARM计算库。https://github.com/ARM-software/ComputeLibrary/
    [4]
    臂。2017.探索Arm-dot产品说明。https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/exploring-the-arm-dot-product-instructions
    [5]
    利雅得巴格达迪、杰西卡·雷、马利克·本·隆丹、伊曼纽尔·德尔·索佐、阿卜杜拉赫曼·阿克卡斯、张云明、帕特里夏·苏里亚纳、肖伊布·卡米尔和萨曼·阿马拉辛格。2019.蒂拉米苏:一款用于表达快速可移植代码的多面体编译器。2019年IEEE/ACM国际代码生成和优化研讨会(CGO 2019)会议记录。IEEE出版社,193-205。国际标准编号:9781728114361
    [6]
    Somashekaracharya G Bhaskaracharya、Julien Demouth和Vinod Grover。2020年。沃尔塔张量核的自动内核生成。arXiv预印arXiv:2006.12645。
    [7]
    陈田琪(Tianqi Chen)和卡洛斯·盖斯特林(Carlos Guestrin),2016年。XGBoost:一个可扩展的树增强系统。在第22届ACM SIGKDD国际知识发现和数据挖掘会议(KDD’16)的会议记录中。美国纽约州纽约市ACM,785–794。isbn:978-1-4503-4232-2
    [8]
    陈田琪、穆莉、李玉田、林敏、王乃燕、王敏杰、肖天军、徐冰、张驰元和张政。Mxnet:异构分布式系统的灵活高效机器学习库。arXiv预打印arXiv:1512.01274。
    [9]
    陈田琪(Tianqi Chen)、蒂埃里·莫罗(Thierry Moreau。2018.$TVM$:用于深度学习的自动化端到端优化编译器。在第13届$USENIX$操作系统设计与实现研讨会上($OSDI$18)。578–594.
    [10]
    陈田琪、郑连敏、严爱迪、姜子恒、莫罗、塞兹、盖斯林和克里希纳穆蒂。2018年。学习优化张量程序。神经信息处理系统进展。3389–3400.
    [11]
    Sharan Chetlur、Cliff Woolley、Philippe Vandermersch、Jonathan Cohen、John Tran、Bryan Catanzaro和Evan Shelhamer。2014.cudnn:深度学习的高效原语。arXiv预打印arXiv:1410.0759。
    [12]
    Stephen Chou、Fredrik Kjolstad和Saman Amarasinghe。2020年,自动生成高效稀疏张量格式转换例程。第41届ACM SIGPLAN编程语言设计与实现会议记录(PLDI 2020)。美国纽约州纽约市计算机协会823–838。国际标准化组织:9781450376136https://doi.org/10.1145/3385412.3385963
    [13]
    雅各布·德夫林(Jacob Devlin)、张明伟(Ming Wei Chang)、肯顿·李(Kenton Lee)和克里斯蒂娜·图塔诺娃(Kristina Toutanova)。2018年,伯特:深度双向变压器语言理解预培训。arXiv预打印arXiv:1810.04805。
    [14]
    Alexey Dosovitskiy、Lucas Beyer、Alexander Kolesnikov、Dirk Weissenborn、Xiaohua Zhai、Thomas Unterthiner、Mostafa Deghani、Matthias Minderer、Georg Heigold和Sylvain Gelly。2020年。一幅图像相当于16x16个单词:用于大规模图像识别的变形金刚。arXiv预印本arXiv:2010.11929。
    [15]
    Pratik Fegade、Tianqi Chen、Phil Gibbons和Todd Mowry。2021.Cortex:递归深度学习模型的编译器。ML系统。
    [16]
    巴西利奥·弗拉奎拉(Basilio B.Fraguela)、贾果(Jia Guo)、加内什·比克山迪(Ganesh Bikshandi)、玛丽亚·加扎兰(María J.Garzarán)、盖奥盖·阿尔马西(Gheorghe Almási)、何塞·莫雷拉(JoséMoreira)和大卫·帕多。2004.分层平铺阵列编程方法。第七届可伸缩系统语言、编译器和运行时支持研讨会会议记录(LCR'04)。美国纽约州纽约市计算机协会1–12。编号:9781450377997https://doi.org/10.1145/1066650.1066657
    [17]
    巴斯蒂安·哈格多恩(Bastian Hagedorn)、阿奇博德·塞缪尔·埃利奥特(Archibald Samuel Elliott)、亨利克·巴瑟尔斯(Henrik Barthels)、拉斯蒂斯拉夫·博迪克(Rastislav Bodik)和维诺德·格。2020年。Fireiron:一种用于GPU的数据移动软件调度语言。在ACM并行体系结构和编译技术国际会议的会议记录中。71–82.
    [18]
    何开明、张湘玉、任少清、孙建军。2016.图像识别的深度残差学习。在关于计算机视觉和模式识别的IEEE会议论文集上。770–778.
    [19]
    安德鲁·霍华德(Andrew G Howard)、朱梦龙(Menglong Zhu)、陈波(Bo Chen)、德米特里·卡列尼琴科(Dmitry Kalenichenko)、王卫军(Weijun Wang)、托比亚斯·韦扬德(Tobias Weyand)、马可·安德列托。2017.手机:用于移动视觉应用的高效卷积神经网络。arXiv预打印arXiv:1704.04861。
    [20]
    英特尔。2017.用于深度学习网络的英特尔®数学内核库。https://software.intel.com/en-us/articles/intel-mkl-dnn-part-1-library-overview-and-installation
    [21]
    英特尔。2019.在第二代Intel®Xeon®可扩展处理器上推出Intel®Deep Learning Boost。https://software.intel.com/content/www/us/en/develop/articles/introduction-to-intel-deep-learning-boost-on-second-generation-intel-xeon-scalable.html
    [22]
    Norman P Jouppi、Cliff Young、Nishant Patil、David Patterson、Gaurav Agrawal、Raminder Bajwa、Sarah Bates、Suresh Bhatia、Nan Boden和Al Borchers。2017.张量处理单元的数据中心内性能分析。第44届计算机体系结构国际研讨会论文集。1–12.
    [23]
    安德鲁·科尔(Andrew Kerr)、吴海成(Haicheng Wu)、马尼什·古普塔(Manish Gupta)、达斯汀·布拉西格(Dustyn Blasig)、普拉迪普·拉米尼(Pradeep Ramini)、杜安·梅里尔(Duane Merrill)、安妮克·希瓦姆(Aniket Shivam)、彼得·马切尔(Pi。2022.卡特拉斯。https://github.com/NVIDIA/cutlass网站
    [24]
    Fredrik Kjolstad、Shoaib Kamil、Stephen Chou、David Lugato和Saman Amarasinghe。2017.张量代数编译器。程序。ACM计划。Lang.,1,OOPSLA(2017),第77条,10月,29页。发行编号:2475-1421https://doi.org/10.1145/313901
    [25]
    马丁·孔(Martin Kong)、理查德·维拉斯(Richard Veras)、凯文·斯托克(Kevin Stock)、弗兰兹·弗朗切蒂(Franz Franchetti)、路易斯·诺埃尔·普切特(Louis-Noöl Pouchet)和蓬努斯瓦米·萨达亚潘。2013年。多面体转换满足SIMD代码生成时。第34届ACM SIGPLAN编程语言设计与实现会议论文集。127–138.
    [26]
    Chris Lattner、Mehdi Amini、Uday Bondhugula、Albert Cohen、Andy Davis、Jacques Pienaar、River Riddle、Tatiana Shpeisman、Nicolas Vasilache和Oleksandr Zinenko。2021.Mlir:为特定领域的计算扩展编译器基础设施。2021年IEEE/ACM国际代码生成与优化(CGO)研讨会。2–14.
    [27]
    蒂莫西·利利克拉普(Timothy P Lillicrap)、乔纳森·亨特(Jonathan J Hunt)、亚历山大·普里泽尔(Alexander Pritzel)、尼古拉·赫斯(Nicolas Heess)、汤姆·埃雷斯(Tom Erez)、尤瓦尔·塔萨(Yuval Tassa)、。2015年,通过深度强化学习进行持续控制。arXiv预印arXiv:1509.02971。
    [28]
    郝璐·马拉特·杜汗、吴一鸣。2018.QNNPACK:优化移动深度学习的开源库。https://engineering.fb.com/2018/10/29/ml-applications/qnnpack/
    [29]
    沃洛德米尔·姆尼赫(Volodymyr Mnih)、科雷·卡武科古奥格鲁(Koray Kavukcuoglu)、大卫·西尔弗(David Silver)、亚历克斯·格雷夫斯(Alex Graves)、伊奥尼斯·安东诺格鲁(Ioannis Antonoglou)、达安·维。2013.使用深度强化学习播放atari。arXiv预印本arXiv:1312.5602。
    [30]
    蒂埃里·莫罗(Thierry Moreau)、陈田琪(Tianqi Chen)、姜子亨(Ziheng Jiang)、路易斯·塞泽(Luis Ceze)、卡洛斯·奎斯特林(Carlos Guestrin)和阿文德·克里希纳穆斯。2018年。VTA:一个用于深度学习的开放硬件和软件堆栈。arXiv预印arXiv:1807.04188。
    [31]
    恩维迪亚。2017年。NVIDIA Tensor核心。https://www.nvidia.com/en-us/data-center/tensorcore/
    [32]
    恩维迪亚。2017.NVIDIA TensorRT:可编程推理加速器。https://developer.nvidia.com/tensorrt网站
    [33]
    Adam Paszke、Sam Gross、Francisco Massa、Adam Lerer、James Bradbury、Gregory Chanan、Trevor Killeen、Zeming Lin、Natalia Gimelshein和Luca Antiga。2019.Pytorch:一个命令式、高性能的深度学习库。神经信息处理系统进展。8026–8037.
    [34]
    亚历克·拉德福德(Alec Radford)、杰弗里·吴(Jeffrey Wu)、瑞文·查尔德(Rewon Child)、大卫·卢安(David Luan)、达里奥·阿莫迪(Dario Amodei)和伊利亚·萨茨克弗(Ilya Sutskever)。2019.语言模型是无监督的多任务学习者。OpenAI博客,1,8(2019),9。
    [35]
    乔纳森·拉甘·凯利(Jonathan Ragan-Kelley)、康奈利·巴恩斯(Connelly Barnes)、安德鲁·亚当斯(Andrew Adams)、西尔万·帕里斯(Sylvain Paris)、弗莱多·杜兰德(Frédo Durand)和萨。2013.Halide:一种用于优化图像处理管道中的并行性、局部性和重新计算的语言和编译器。Acm Sigplan通告,48、6(2013)、519–530。
    [36]
    Ira Rosen、Dorit Nuzman和Ayal Zaks。2007年。GCC中的环感知SLP。在海湾合作委员会开发商峰会上。
    [37]
    约翰·舒尔曼(John Schulman)、菲利普·沃尔斯基(Filip Wolski)、普拉福拉·达里瓦尔(Prafulla Dhariwal)、亚历克·拉德福德(Alec Radford)和奥列格·克里莫夫(Oleg Klimov)。2017.近似策略优化算法。arXiv预打印arXiv:1707.06347。
    [38]
    Ryan Senanayake、Changwan Hong、Ziheng Wang、Amalee Wilson、Stephen Chou、Shoaib Kamil、Saman Amarasinghe和Fredrik Kjolstad。2020。稀疏张量代数的稀疏迭代空间变换框架。程序。ACM计划。Lang.,4,OOPSLA(2020),第158条,11月,30页。https://doi.org/10.1145/3428226
    [39]
    凯伦·西蒙扬和安德鲁·齐瑟曼。2014.用于大规模图像识别的超深卷积网络。arXiv预打印arXiv:1409.1556。
    [40]
    IREE作者。2019年IREE。https://github.com/iree-org/ire
    [41]
    Philippe Tillet、H.T.Kung和David Cox。2019.Triton:用于平铺神经网络计算的中间语言和编译器。第三届ACM SIGPLAN机器学习和编程语言国际研讨会会议记录(MAPL 2019)。计算机械协会,美国纽约州纽约市,10-19。国际标准化组织:9781450367196https://doi.org/10.1145/3315508.3329973
    [42]
    尼古拉·瓦西拉切(Nicolas Vasilache)、塞德里克·巴斯托尔(Cédric Bastoul)和阿尔伯特·科恩(Albert Cohen)。2006.现实世界中的多面体代码生成。在编译器构造国际会议上。185–201.
    [43]
    尼古拉·瓦西拉切(Nicolas Vasilache)、奥列克桑德·齐尼科(Oleksandr Zinenko)、西奥多罗斯·西奥多里迪斯(Theodoros Theodoridis)、普里亚·戈亚尔(Priya Goyal)、扎卡里·德维托(Zachary DeVito)、威廉·S·摩西(William S Moses。2018.张力理解:框架-认知高性能机器学习抽象。arXiv预打印arXiv:1802.04730。
    [44]
    阿什什·瓦斯瓦尼(Ashish Vaswani)、诺姆·沙泽尔(Noam Shazeer)、尼基·帕尔玛(Niki Parmar)、雅各布·乌斯科雷特(Jakob Uszkoreit)、利昂·琼斯(Llion Jones)、艾丹·戈麦斯(Aidan N Gomez)、卢卡斯·凯泽(Lukas。2017年。你所需要的就是关注。arXiv预打印arXiv:1706.03762。
    [45]
    Jian Weng、Animesh Jain、Jie Wang、Leyuan Wang、Yida Wang和Tony Nowatzki。2021.单元:统一张量化指令编译。2021年IEEE/ACM国际代码生成与优化(CGO)研讨会。77–89.
    [46]
    Tim Zerrell和Jeremy Bruestle。2019.条纹:通过嵌套多面体模型进行张量编译。arXiv预打印arXiv:1903.06498。
    [47]
    2021年,赵杰、李伯杰、王聂、郑庚、张仁伟、熊高、斌成、陈武、云成和郑莉。AKG:使用多面体变换为神经处理单元自动生成内核。第42届ACM SIGPLAN编程语言设计与实现国际会议论文集。1233–1248.
    [48]
    郑连敏、贾成凡、孙敏敏、赵武、科迪·郝宇、阿迈尔·哈伊·阿利、王毅达、杨军、卓丹阳和库什克。2020年。答案:为深度学习生成高性能张量程序。在第14届$USENIX$操作系统设计与实现研讨会上($OSDI$20)。863–879.
    [49]
    郑仕、陈仁泽、魏安江、金一成、秦汉、陆立强、吴炳阳、李秀红、阎圣恩和梁云。2022.AMOS:利用硬件抽象实现空间加速器上张量计算的自动映射。2022年6月18日至22日,美国纽约州纽约市,第49届国际计算机体系结构年会,瓦伦蒂娜·萨拉普拉(Valentina Salapura)、穆罕默德·扎赫兰(Mohamed Zahran)、弗雷德·张(Fred Chong)和汤凌嘉(Lingjia Tang)主编。美国医学会,874–887。https://doi.org/10.1145/3470496.3527440
    [50]
    大小郑、云亮、王朔、陈仁泽和盛凯文。2020年,FlexTensor:异构系统上张量计算的自动调度探索和优化框架。第二十五届编程语言和操作系统体系结构支持国际会议论文集。859–873.

    引用人

    查看全部
    • (2024)Allo:可组合加速器设计的编程模型美国计算机学会程序设计语言会议录10.1145/36564018:PLDI(593-620)在线发布日期:2024年6月20日
    • (2024)小步:在GPU上加速3D稀疏卷积第十九届欧洲计算机系统会议记录10.1145/3627703.3629560(786-802)在线发布日期:2024年4月22日
    • (2024)海报:FineCo:针对并发DNN推断的细粒度异构资源管理第29届ACM SIGPLAN并行编程原理与实践年度研讨会论文集10.1145/3627535.3638485(451-453)在线发布日期:2024年3月2日
    • 显示更多引用者

    索引术语

    1. TensorIR:一种自动张力化程序优化的抽象方法

        建议

        评论

        信息和贡献者

        问询处

        发布时间

        封面图片ACM会议
        ASPLOS 2023:第28届ACM编程语言和操作系统架构支持国际会议记录,第2卷
        2023年1月
        947页
        国际标准图书编号:9781450399166
        内政部:10.1145/3575693
        本作品根据Creative Commons Attribution 4.0国际许可证授权。

        赞助商

        出版商

        计算机协会

        美国纽约州纽约市

        出版历史

        出版:2023年1月30日

        权限

        请求对此文章的权限。

        检查更新

        作者标记

        1. 深度神经网络
        2. 机器学习编译器
        3. 张量计算

        限定符

        • 研究文章

        会议

        ASPLOS’23:第28届ACM编程语言和操作系统架构支持国际会议,第2卷
        2023年3月25日至29日
        不列颠哥伦比亚省,加拿大温哥华

        接受率

        2713份提交文件中的总体接受率为535份,20%

        即将召开的会议

        ASPLOS’25年

        贡献者

        其他指标

        文献计量学和引文

        文献计量学

        文章指标

        • 下载次数(过去12个月)1,646
        • 下载次数(最近6周)124

        其他指标

        引文

        引用人

        查看全部
        • (2024)Allo:可组合加速器设计的编程模型美国计算机学会程序设计语言会议录10.1145/36564018:PLDI(593-620)在线发布日期:2024年6月20日
        • (2024)Minuet:加速GPU上的3D稀疏卷积第十九届欧洲计算机系统会议记录10.1145/3627703.3629560(786-802)在线发布日期:2024年4月22日
        • (2024)海报:FineCo:针对并发DNN推断的细粒度异构资源管理第29届ACM SIGPLAN并行编程原理与实践年度研讨会论文集10.1145/3627535.3638485(451-453)在线发布日期:2024年3月2日
        • (2024)SmartMem:消除和适应布局转换以在移动设备上高效执行DNN第29届ACM国际编程语言和操作系统体系结构支持会议记录,第3卷10.1145/3620666.3651384(916-931)在线发布日期:2024年4月27日
        • (2024)分形:DNN修剪精度和性能的联合多级稀疏模式调整第29届ACM国际编程语言和操作系统体系结构支持会议记录,第3卷10.1145/3620666.3651351(416-430)在线发布日期:2024年4月27日
        • (2024)基于动态微核聚合的加速器动态形状神经网络优化第29届ACM国际编程语言和操作系统体系结构支持会议记录,第2卷10.1145/3620665.3640390(797-812)在线发布日期:2024年4月27日
        • (2024)通过全局分析和张量表达式优化深度学习推理第29届ACM国际编程语言和操作系统体系结构支持会议记录,第1卷10.1145/3617232.3624858(286-301)在线发布日期:2024年4月27日
        • (2023)海报摘要:通过大型基础模型统一On-device Tensor程序优化第21届ACM嵌入式网络传感器系统会议记录10.1145/3625687.3628378(504-505)在线发布日期:2023年11月12日
        • (2023)Grape:GPU上动态深度神经网络的实用高效图形执行第56届IEEE/ACM微体系结构国际研讨会论文集10.1145/3613424.3614248(1364-1380)在线发布日期:2023年10月28日
        • (2023)SparseTIR:用于深度学习中稀疏编译的可组合摘要第28届ACM编程语言和操作系统体系结构支持国际会议记录,第3卷10.1145/3582016.3582047(660-678)在线发布日期:2023年3月25日

        视图选项

        查看选项

        PDF格式

        以PDF文件查看或下载。

        PDF格式

        电子阅读器

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

        电子阅读器

        获取访问权限

        登录选项

        完全访问权限

        媒体

        数字

        其他

        桌子

        分享

        分享

        共享此出版物链接

        在社交媒体上分享