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

使用Korch的张量程序的最优内核编排

出版:2024年4月27日 出版历史
  • 获取引文提醒
  • 摘要

    内核编排是将深度神经网络(DNN)不同操作符中定义的计算映射到现代硬件平台上GPU内核的执行。以前的方法通过贪婪地应用来优化内核编排算子融合它将多个运算符的计算融合到单个内核中,并在内核编排中错失了各种优化机会。
    本文介绍了Korch,一个张量程序优化器,它可以发现最优的张量程序的内核编排策略。Korch首先采用的不是直接熔断操作器操作员裂变将张量算子分解为一小组基本张量代数基元。这种分解支持多种细粒度的操作器间优化。接下来,Korch通过将其形式化为一个约束优化问题来优化内核编排,利用非现成的二进制线性编程求解器来发现最佳编排策略,并生成可直接部署在现代GPU平台上的可执行文件。对各种DNN的评估表明,Korch在V100 GPU上的性能优于现有的张量程序优化器,高达1.7倍,在A100 GPU下高达1.6倍。Korch可在以下网址公开获取:https://github.com/humuyan/Korch。

    工具书类

    [1]
    Amazon ec2 p3实例。https://aws.amazon.com/ec2/instance-types/p3/, 2022.
    [2]
    Martín Abadi、Paul Barham、Jianmin Chen、Zhifeng Chen、Andy Davis、Jeffrey Dean、Matthieu Devin、Sanjay Ghemawat、Geoffrey Irving、Michael Isard等。Tensorflow:大型机器学习系统。第十二{USENIX公司}操作系统设计与实现专题讨论会({OSDI公司}16),第265-283页,2016年。
    [3]
    Andrew Adams、Karima Ma、Luke Anderson、Riyadh Baghdadi、Tzu-Mao Li、Michaöl Gharbi、Benoit Steiner、Steven Johnson、Kayvon Fatahalian、Frédo Durand等。学习使用树搜索和随机程序优化卤化物。ACM图形事务处理(TOG), 38(4):1--12, 2019.
    [4]
    卢克·安德森(Luke Anderson)、安德鲁·亚当斯(Andrew Adams)、卡里玛(Karima Ma)、李祖茂(Zu-Mao Li)、天津(Tian Jin)和乔纳森·拉甘·凯利(Jonathan Ragan-Kelley)。高效自动调度gpu的成像和视觉管线。美国计算机学会程序设计语言会议录,5(OOPSLA):2021年1--28月。
    [5]
    亚历克谢·博奇科夫斯基(Alexey Bochkovskiy)、王建尧(Chien-Yao Wang)和廖宏远(Hong Yuan Mark Liao)。Yolov4:目标检测的最佳速度和准确性。arXiv预打印arXiv:2004.10934, 2020.
    [6]
    韩才、李俊彦、胡木彦、庄干和宋汉。Efficientvit:用于高分辨率密集预测的轻量级多尺度关注。IEEE/CFF国际计算机视觉会议论文集第17302-17313页,2023年。
    [7]
    陈田琪(Tianqi Chen)、蒂埃里·莫罗(Thierry Moreau)、姜子亨(Ziheng Jiang)、沈海晨(Haichen Shen)、颜爱迪(Eddie Q.Yan)、王乐元(Leyuan Wang)、胡玉伟(Yuwei Hu)、路易斯·塞兹(Luis Ce。TVM:用于深度学习的端到端优化堆栈。CoRR公司,abs/1802.047992018年。
    [8]
    陈田琪、郑连敏、严爱迪、姜子恒、莫罗、塞兹、盖斯林和克里希纳穆蒂。学习优化张量程序。神经信息处理系统研究进展, 31, 2018.
    [9]
    Sharan Chetlur、Cliff Woolley、Philippe Vandermersch、Jonathan Cohen、John Tran、Bryan Catanzaro和Evan Shelhamer。cudnn:用于深度学习的高效原语。CoRR公司,abs/1410.07592014年。
    [10]
    GPU上的稠密线性代数。https://developer.nvidia.com/cublas开发人员, 2016.
    [11]
    三道、丹福、斯特凡诺·埃蒙、阿特里·鲁德拉和克里斯托弗·雷。Flashattention:通过io-aware快速、高效、准确地关注。神经信息处理系统研究进展, 35:16344--16359, 2022.
    [12]
    弗雷德里卡·达雷马(Frederica Darema)、大卫·A·乔治(David A George)、V·艾伦·诺顿(V Alan Norton)和格雷戈里·菲斯特(Gregory F Pfister)。epex/fortran的单程序多数据计算模型。并行计算, 7(1):11--24, 1988.
    [13]
    雅各布·德夫林(Jacob Devlin)、张明伟(Ming Wei Chang)、肯顿·李(Kenton Lee)和克里斯蒂娜·图塔诺娃(Kristina Toutanova)。BERT:用于语言理解的深层双向变压器的预培训。CoRR公司,abs/1810.048052018年。
    [14]
    丁耀尧、余浩、郑伯坚、刘一智、王一达和根纳迪·佩基蒙科。Hidet:深度学习张量程序的任务映射编程范式。第28届ACM编程语言和操作系统体系结构支持国际会议记录,第2卷,第370-384页,2023年。
    [15]
    郑戈、刘松涛、王峰、李泽明和孙健。尤洛斯:2021年超越尤洛斯系列。arXiv预打印arXiv:2107.08430, 2021.
    [16]
    黛博拉·海斯利(Deborah D Heisley)和西德尼·利维(Sidney J Levy)。自动驾驶:一种光诱导技术。消费者研究杂志, 18(3):257--272, 1991.
    [17]
    Abhinav Jangda和Uday Bondhugula。一种有效的融合和瓷砖尺寸模型,用于优化图像处理管道。ACM SIGPLAN通知, 53(1):261--275, 2018.
    [18]
    Jia Zhihao、Oded Padon、James Thomas、Todd Warszawski、Matei Zaharia和Alex Aiken。Taso:通过自动生成图替换来优化深度学习计算。第27届ACM操作系统原理研讨会会议记录,第47-62页,2019年。
    [19]
    贾志浩(Zhihao Jia)、詹姆斯·托马斯(James Thomas)、托德·瓦扎夫斯基(Todd Warzawski)、高明宇(Mingyu Gao)、马泰·扎哈里亚(Matei Zaharia)和亚历克斯·艾肯(Alex Aiken)。用松弛图替换优化dnn计算。第二届系统与机器学习会议记录2019年SysML’19。
    [20]
    贾斯汀·约翰逊、亚历山大·阿拉希和李菲菲。实时风格传输和超分辨率的感知损失。欧洲计算机视觉会议,第694-711页。斯普林格,2016年。
    [21]
    斯图亚特·米切尔、迈克尔·奥斯利凡和伊恩·邓宁。Pulp:一个用于python的线性编程工具包。新西兰奥克兰奥克兰大学, 65, 2011.
    [22]
    拉维·特贾·穆拉普迪(Ravi Teja Mullapudi)、安德鲁·亚当斯(Andrew Adams)、迪伦·沙雷特(Dillon Sharlet)、乔纳森·拉甘·凯利(Jonathan Ragan-Kelley)和凯文·法塔哈利安(Kayvon Fatahalian)。自动调度卤化物图像处理管道。ACM事务处理。图表。, 35(4), 2016.
    [23]
    魏牛、关洁雄、王彦之、加甘·阿格拉瓦尔和任斌。Dnnfusion:使用高级操作员融合加速深层神经网络的执行。第42届ACM SIGPLAN编程语言设计与实现国际会议论文集,第883-8982021页。
    [24]
    ONNX:开放式神经网络交换。https://onnx.ai(英文)/, 2022.
    [25]
    ONNX操作员。https://github.com/onnx/onnx/blob/main/docs/Operators.md, 2022.
    [26]
    君士坦丁·帕帕乔治奥和托马索·波乔。目标检测的可训练系统。国际计算机视觉杂志, 38(1):15--33, 2000.
    [27]
    Python中的张量和动态神经网络具有强大的GPU加速度。https://pytorch.org, 2023.
    [28]
    乔纳森·拉甘·凯利(Jonathan Ragan-Kelley)、康奈利·巴恩斯(Connelly Barnes)、安德鲁·亚当斯(Andrew Adams)、西尔万·帕里斯(Sylvain Paris)、弗莱多·杜兰德(Frédo Durand)和萨。卤化物:一种语言和编译器,用于优化图像处理管道中的并行性、局部性和重新计算。第34届ACM SIGPLAN编程语言设计与实现会议记录2013年,PLDI’13。
    [29]
    邵俊茹(Junru Shao)、周锡友(Xiyou Zhou)、冯思源(Siyuan Feng。基于概率规划的张量规划优化。神经信息处理系统研究进展, 35:35783--35796, 2022.
    [30]
    Yang Song、Jascha Sohl Dickstein、Diederik P Kingma、Abhishek Kumar、Stefano Ermon和Ben Poole。通过随机微分方程进行基于分数的生成性建模。arXiv预打印arXiv:2011.3456, 2020.
    [31]
    雅库布·塔尔纳夫斯基(Jakub M Tarnawski)、迪帕克·纳拉亚南(Deepak Narayanan)和阿马尔·法尼什耶伊(Amar Phanishayee)。Piper:用于dnn并行化的多维规划器。神经信息处理系统研究进展, 34:24829--24840, 2021.
    [32]
    NVIDIA TensorRT:可编程推理加速器。https://developer.nvidia.com/tensorrt网站, 2017.
    [33]
    菲利普·蒂莱特(Philippe Tillet)、熊成功(Xiang-Tsung Kung)和大卫·考克斯(David Cox)。Triton:一种用于分片神经网络计算的中间语言和编译器。第三届ACM SIGPLAN机器学习和编程语言国际研讨会会议记录,第10-192019页。
    [34]
    阿什什·瓦斯瓦尼(Ashish Vaswani)、诺姆·沙泽尔(Noam Shazeer)、尼基·帕尔玛(Niki Parmar)、雅各布·乌斯科雷特(Jakob Uszkoreit)、利昂·琼斯(Llion Jones)、艾丹·戈麦斯(Aidan N Gomez)、尤卡斯·凯泽(ukasz Kaiser。注意力是你所需要的。神经信息处理系统研究进展,第5998--6008页,2017年。
    [35]
    王浩杰(Haojie Wang)、翟继东(Jidong Zhai)、高明宇(Mingyu Gao)、马子轩(Zixuan Ma)、唐世芝(Shizhi Tang)、郑丽燕(Liyan Zheng)、李元志(Yuanzhi Li)、荣开元(Kaiyua。Pet:用部分等价变换和自动更正优化张量程序。第15届USENIX操作系统设计与实现研讨会(OSDI 21),第37-54页,2021年。
    [36]
    谢恩泽(Enze Xie)、王文海(Wenhai Wang)、于志鼎(Zhiding Yu)、阿尼玛(Anima Anandkumar)、何塞·阿尔瓦雷斯(Jose M Alvarez)和罗平(Ping Luo)。Segformer:使用转换器进行简单高效的语义分割设计。神经信息处理系统研究进展, 34:12077--12090, 2021.
    [37]
    郑连敏、贾成凡、孙敏敏、赵武、科迪·郝宇、阿梅尔·哈伊·阿利、王毅达、杨军、卓丹阳、高世森等。答案:为深度学习生成高性能张量程序。第十四{USENIX公司}操作系统设计与实现研讨会({OSDI公司}20),第863--879页,2020年。
    [38]
    郑立彦,王浩杰,翟继东,胡木彦,马子轩,王拓伟,黄曙红,苗旭鹏,汤世智,黄克钊,等{EINNET}:用{基于导数}变换优化张量程序。第17届USENIX操作系统设计与实现研讨会(OSDI 23),第739-755页,2023年。
    [39]
    大小郑、云亮、王朔、陈仁泽和盛凯文。Flextensor:异构系统上张量计算的自动调度探索和优化框架。第二十五届国际编程语言和操作系统体系结构支持会议记录,第859--873页,2020年。

    建议

    评论

    信息和贡献者

    问询处

    发布时间

    封面图片ACM会议
    ASPLOS’24:第29届ACM编程语言和操作系统体系结构支持国际会议记录,第3卷
    2024年4月
    1106页
    国际标准图书编号:9798400703867
    内政部:10.1145/3620666
    如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重作者以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护].

    赞助商

    合作中

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2024年4月27日

    检查更新

    徽章

    作者标记

    1. 张量程序
    2. 内核编排
    3. 机器学习编译器

    限定符

    • 研究文章

    资金来源

    会议

    阿斯普洛斯24
    ASPLOS’24:第29届ACM编程语言和操作系统体系结构支持国际会议,第3卷
    2024年4月27日至5月1日
    加利福尼亚州,拉荷亚,美国

    接受率

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

    即将召开的会议

    ASPLOS’25年

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 0
      引文总数
    • 543
      总下载次数
    • 下载次数(过去12个月)543
    • 下载次数(最近6周)243

    其他指标

    引文

    视图选项

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

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

    电子阅读器

    获取访问权限

    登录选项

    完全访问权限

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享