跳到主要内容
研究论文

Intel、AMD和Fujitsu处理器上批量、小型和矩形矩阵乘法的缓存优化和性能建模

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

    稠密矩阵和张量的因式分解和乘法是科学工具箱中非常关键但又极其昂贵的部分。仔细使用低秩近似可以大大减少这些操作的计算和内存需求。除了较低的算法复杂度外,这些方法还可以通过其结构设计来有效利用现代硬件架构。现有的大多数工作都依赖于批处理BLAS库来处理许多小型密集矩阵的计算。我们表明,通过仔细分析缓存利用率、使用SIMD寄存器的寄存器累加以及重新设计实现,可以在很大的块和批大小范围内为这些类型的批处理低秩矩阵实现更高的吞吐量。我们使用不同的ISA在三个CPU上测试了我们的算法——使用ARM SVE的Fujitsu A64FX、使用AVX-512的Intel Xeon 6148和使用AVX-2的AMD EPYC 7502,并表明我们的新批处理方法能够在所有CPU体系结构和问题规模下获得两倍于供应商优化库的吞吐量。

    工具书类

    [1]
    A.Abdelfattah、M.Baboulin、V.Dobrev、J.Dongarra、C.Earl、J.Falcou、A.Haidar、I.Karlin、Tz.Kolev、I.Masliah和S.Tomov。2016年,GPU的高绩效张量收缩。Procedia计算机科学80(2016年1月),108–118。
    [2]
    Ahmad Abdelfattah、Azzam Haidar、Stanimire Tomov和Jack Dongarra。2016年,关于异构并行架构的可变大小批处理计算的开发。2016 IEEE国际并行和分布式处理研讨会(IPDPSW)IEEE,美国伊利诺伊州芝加哥,1249-1258。
    [3]
    Ayesha Afzal、Georg Hager和Gerhard Wellein。2020年。多核CPU上内存绑定循环内核重叠执行的分析性能模型。arXiv:2011.00243[cs](2020年10月)。arxiv:2011.00243号[cs]。
    [4]
    卡迪尔·阿克布达克(Kadir Akbudak)、哈泰姆·利泰夫(Hatem Ltaief)、阿列克桑德·米哈列夫(Aleksandr Mikhalev)和大卫·凯斯(David Keyes)。2017.将低阶Cholesky因子分解应用于多核架构上的气候/天气建模应用。10524 (2017), 22–40.
    [5]
    克里斯蒂·阿拉帕特(Christie Alappat)、尼尔斯·梅耶(Nils Meyer)、扬·劳克曼(Jan Laukemann)、托马斯·格鲁伯(Thomas Gruber)、乔治·海格(Georg Hager)、格哈德·韦林(Gerhard Wellein)和蒂洛·威。2021.A64FX上SpMV和晶格QCD的ECM建模和性能调整。arXiv:2103.03013[hep-lat](2021年3月)。arxiv公司:2103.03013[hep-lat]。
    [6]
    克里斯蒂·阿拉帕特(Christie L.Alappat)、扬·劳克曼(Jan Laukemann)、托马斯·格鲁伯(Thomas Gruber)、乔治·海格(Georg Hager)、格哈德·韦林(Gerhard Wellein)、尼尔斯·梅耶(Nils Meyer)和蒂洛·。2020年。A64FX上流式内核和稀疏矩阵向量乘法的性能建模。arXiv:2009.13903[cs](2020年9月)。arxiv:2009.13903年[cs]。
    [7]
    E.Anderson、Z.Bai、J.Dongarra、A.Greenbaum、A.McKenney、J.Du Croz、S.Hammarling、J.Demmel、C.Bischof和D.Sorensen。1990年LAPACK:用于高性能计算机的便携式线性代数库。1990年ACM/IEEE超级计算会议记录(超级计算'90)IEEE计算机学会出版社,美国纽约州纽约市,2-11。
    [8]
    M.Bebendorf和W.Hackbusch。2007.层次矩阵的稳定四舍五入加法。数值线性代数及其应用2007年6月14日、5日,407–423。
    [9]
    乔治·博西尔卡(George Bosilca)、奥雷琳·布特伊勒(Aurelien Bouteiller)、安东尼·达纳利斯(Anthony Danalis)、马修·法尔奇(Mathieu Faverge)、托马斯·赫拉尔(Thomas Herault)和杰克·J·东。2013年,PaRSEC:利用异构性增强可扩展性。科学与工程计算15, 6 (2013), 36–45.
    [10]
    迈克尔·布拉塞尔(Michael Brazell)、李娜(Na Li)、卡梅利萨·纳瓦斯卡(Carmeliza Navasca)和克里斯蒂诺·塔蒙(Christino Tamon)。张量和矩阵反演及其应用。arXiv:1109.3830[数学](2011年9月)。arxiv公司:1109.3830[数学]。
    [11]
    卡林钙B类卡瓦尔和大卫·A·帕多瓦。2003.使用堆栈距离估计缓存未命中和位置。第17届超级计算国际年会论文集(ICS'03)计算机械协会,美国加利福尼亚州旧金山,150-159。
    [12]
    曹昆莱(Quinglei Cao)、于培(Yu Pei)、托马斯·赫拉尔德(Thomas Herauldt)、卡迪尔·阿布达克(Kadir Akbudak)、阿列克桑德·米哈列夫(Aleksandr Mikhalev)、乔治·博西尔卡(George Bosilca)、哈泰姆·勒泰夫(Hatem。2019.使用PaRSEC仪器工具进行低阶Cholesky因子分解的性能分析。2019 IEEE/ACM编程和性能可视化工具国际研讨会(ProTools). 25–32.
    [13]
    马克·卡萨斯(Marc Casas)和格雷格·布朗维茨基(Greg Bronevetsky)。2014年,积极测量内存资源消耗。2014年IEEE第28届国际并行和分布式处理研讨会IEEE,美国亚利桑那州凤凰城,995–1004。
    [14]
    Ali Charara、David Keyes和Hatem Ltaief。2018.GPU上的批量瓷砖低级GEMM。(2018), 12.
    [15]
    Ali Charara、David Keyes和Hatem Ltaief。2019.针对GPU上非常小的矩阵大小的成批三角稠密线性代数核。ACM事务处理。数学。软件45,2(2019年6月),1-28。
    [16]
    陈洁阳、熊楠、梁欣、陶定文、李四环、欧阳开明、赵凯、内森·德巴德勒本、关强和陈自忠。2019.TSM2:在GPU上优化高瘦矩阵乘法。(2019), 11.
    [17]
    Jack J.Dongarra、Sven Hammarling、Nicholas J.Higham、Samuel D.Relton和Mawussi Zounon。2017.现代建筑的优化批处理线性代数。欧洲-保时捷.
    [18]
    尼尔斯·阿恩·德雷尔和克里斯蒂安·恩格尔。2019.矢量块共轭梯度法的策略。arXiv:1912.11930[cs,数学](2019年12月)。arxiv:1912.11930年[cs,math]。
    [19]
    东藤俊雄。2020年。将缓存遗忘方法与现代处理器架构集成:Floyd-Warshall算法案例。亚太地区高性能计算国际会议论文集(HPCAsia2020)计算机械协会,日本福冈,123-130。
    [20]
    马特奥·弗里戈(Matteo Frigo)、查尔斯·雷瑟森(Charles E.Leiserson)、哈拉尔德·普罗科普(Harald Prokop)和斯里达尔·拉马钱德兰(Sridhar Ramachandran)。2012.缓存可用算法。ACM算法事务2012年1月8日,1日,4:1–4:22。
    [21]
    Gianluca Frison、Dimitris Kouzoupis、Tommaso Sartor、Andrea Zanelli和Moritz Diehl。2018.BLASFEO:嵌入式优化的基本线性代数子程序。ACM事务处理。数学。软件44,4(2018年8月),1-30。
    [22]
    Gianluca Frison、Tommaso Sartor、Andrea Zanelli和Moritz Diehl。2020年。BLASFEO的BLAS API:优化小矩阵的性能。ACM事务处理。数学。软件46,2(2020年6月),1-36。arxiv版本:1902.08115.
    [23]
    Evangelos Georganas、Sasikanth Avancha、Kunal Banerjee、Dhiraj Kalamkar、Greg Henry、Hans Pabst和Alexander Heinecke。2018.SIMD架构上高性能深度学习卷积剖析。arXiv:1808.05567[cs](2018年8月)。arxiv:1808.05567号[cs]。
    [24]
    Kazushige Goto和Robert A.van de Geijn。2008.高性能矩阵乘法剖析。ACM事务处理。数学。软件34,3(2008年5月),1-25。
    [25]
    John A.Gunnels、Fred G.Gustavson、Greg M.Henry和Robert A.van de Geijn。FLAME:形式化线性代数方法环境。ACM事务处理。数学。软件27,4(2001年12月),422-455。
    [26]
    托比亚斯·吉西(Tobias Gysi)、托比亚斯·格罗瑟(Tobias-Grosser)、劳林·布兰德纳(Laurin Brandner)和托尔斯滕·霍夫勒(Torsten Hoefler)。2019.全关联缓存的快速分析模型。第40届ACM SIGPLAN编程语言设计与实现会议论文集(PLDI 2019)美国亚利桑那州凤凰城,816–829。
    [27]
    沃尔夫冈·哈克布什(Wolfgang Hackbusch)。2015层次矩阵:算法与分析第1版。Springer Publishing Company,Incorporated©2015年。
    [28]
    阿扎姆·海达尔(Azzam Haidar)、董廷兴(Tingxing Dong)、彼得·卢斯科(Piotr Luszczek)、斯坦尼米尔·托莫夫(Stanimire Tomov)和杰克·东加拉(Jack Dongarra)。2015年,面向加速硬件平台上的批处理线性解算器。ACM SIGPLAN通知2015年1月8日,第50页,第261-262页。
    [29]
    Nathan Halko、Per-Gunnar Martinsson和Joel A.Tropp。2009.发现具有随机性的结构:构建近似矩阵分解的概率算法。53,2(2009年9月),217-288。arXiv:0909.4061.
    [30]
    亚历山大·海内克(Alexander Heinecke)、格雷格·亨利(Greg Henry)、麦克斯韦尔·哈钦森(Maxwell Hutchinson)和汉斯·帕布斯特(Hans Pabst)。2016.LIBXSMM:通过运行时代码生成加速小矩阵乘法。高性能计算、网络、存储和分析国际会议记录(SC'16)IEEE出版社,犹他州盐湖城,1-11。
    [31]
    托尔斯滕·霍夫勒、威廉·格罗普、威廉·克莱默和马克·斯尼尔。2011.系统性能调整的性能建模。实践状况报告(SC'11)美国计算机协会,华盛顿州西雅图,1-12。
    [32]
    约翰内斯·霍夫曼(Johannes Hofmann)、克里斯蒂·阿拉帕特(Christie L.Alappat)、乔治·哈格(Georg Hager)、迪特马尔·菲(Dietmar Fey)和格哈德·韦林(Gerhard Wellein)。2020年:缩小架构差距:抽象现代服务器处理器的性能相关属性。超级计算前沿和创新7,2(2020年6月)。arxiv:1907.00048号.
    [33]
    约翰内斯·霍夫曼(Johannes Hofmann)和迪特马尔·菲(Dietmar Fey)。2016.基于ECM的能效优化方法,用于最新Intel Xeon处理器上带宽受限的流式内核。arXiv:1609.03347[cs](2016年9月)。http://arxiv.org/abs/1609.03347.arXiv:1609.03347。
    [34]
    黄建宇(Jianyu Huang)、莱斯利·赖斯(Leslie Rice)、德文·马修斯(Devin A.Matthews)和罗伯特·范德盖恩(Robert A.van de Geijn)。2016.生成实用快速矩阵乘法算法系列。arXiv公司:1611.01120【cs】(2016年11月)。arxiv:1611.01120号[cs]。
    [35]
    黄建宇(Jianyu Huang)、泰勒·M·史密斯(Tyler M.Smith)、格雷格·M·亨利(Greg M.Henry)和罗伯特·A·范德盖恩(Robert A.van de Geijn)。2016年,Strassen的算法重新加载。SC'16:高性能计算、网络、存储和分析国际会议记录. 690–701.
    [36]
    伊恩·金(Eun-Jin Im)、凯瑟琳·耶利克(Katherine Yelick)和理查德·武杜克(Richard Vuduc)。2004.稀疏性:稀疏矩阵核的优化框架。国际高性能计算应用杂志18,1(2004年2月),135–158。
    [37]
    Dror Irony、Sivan Toledo和Alexander Tiskin。2004.分布式内存矩阵乘法的通信下限。J.并行和分布式计算。64,9(2004年9月),1017-1026。
    [38]
    姜丽娟、杨超、马文静,2020年。在SW26010多核处理器上实现高效的批量矩阵乘法。ACM架构和代码优化事务17,1(2020年3月),1–23。
    [39]
    金京珠、蒂莫西·科斯塔、梅赫迈特·德韦西、安德鲁·布拉德利、西蒙·哈蒙德、穆拉特·古尼、莎拉·克奈珀、谢恩·斯托里和西瓦桑卡兰·拉贾马尼卡姆。2017.设计矢量友好的紧凑BLAS和LAPACK内核。高性能计算、网络、存储和分析国际会议记录(SC'17)科罗拉多州丹佛市计算机协会,1-12。
    [40]
    Jan Laukemann、Julian Hammer、Johannes Hofmann、Georg Hager和Gerhard Wellein。2018.Intel和AMD微体系结构的自动化指令流吞吐量预测。2018 IEEE/ACM高性能计算机系统(PMBS)性能建模、基准测试和仿真(2018年11月),121–131。arXiv:1809.00912。
    [41]
    兹孟洛、弗朗西斯科·D·伊格尔、泰勒·M·史密斯和恩里克·S·金塔纳·奥尔蒂。2016.分析建模对于高性能BLIS来说已经足够了。ACM事务处理。数学。软件第43、2页(2016年8月),12:1–12:18。
    [42]
    Ian Masliah、Ahmad Abdelfattah、A.Haidar、S.Tomov、Marc Baboulin、J.Falcou和J.Dongarra。2016.高性能矩阵-非常小矩阵的矩阵乘法。2016年Euro-Par:并行处理Pierre-François Dutot和Denis Trystram(编辑)。第9833卷。施普林格国际出版社,查姆,659–671。
    [43]
    R.L.Mattson、J.Gecsei、D.R.Slutz和I.L.Traiger。1970.存储层次结构的评估技术。IBM系统期刊9, 2 (1970), 78–117.
    [44]
    约翰·麦卡宾(John D.McCalpin)。1995.当前高性能计算机的可持续内存带宽。
    [45]
    Tan M.Nguyen、Vai Suliafu、Stanley J.Osher、Long Chen和Bao Wang。2021.FMMformer:通过分解近场和远场注意力实现高效灵活的变压器。arXiv:2108.02347[cs,数学](2021年8月)。http://arxiv.org/abs/1208.02347arXiv:210802347。
    [46]
    Rajesh Nishtala、Richard W.Vuduc、James W.Demmel和Katherine A.Yelick。2007.稀疏矩阵向量乘法的缓存块何时起作用以及原因。工程、通信和计算中的应用代数18、3(2007年5月)、297–311。
    [47]
    火焰工作说明和Robert A.van de Geijn。2016年,BLISlab:优化GEMM lec 6的沙盒。(2016), 1–16.arxiv:1609.00076v1.
    [48]
    于培。2019.分布式多核CPU上解决负载不平衡的编程模型评估:块低秩因子分解的案例研究。(2019年11月),12。
    [49]
    科迪·里维拉(Cody Rivera)、陈洁阳(Jieyang Chen)、熊楠(Nan Xiong)、宋帅文(Shuaiwen Leon Song)和陶丁文(Dingwen Tao)。2021.TSM2X:GPU上的高性能高分辨率矩阵乘法。J.并行和分布式计算。151(2021年5月),70-85。arxiv:2002.03258号.
    [50]
    S.Rjasanow公司。2002.稠密矩阵的自适应交叉逼近。国际边界元方法协会美国德克萨斯州奥斯汀市。
    [51]
    弗朗索瓦·亨里·鲁埃(François-Henry Rouet)、小叶·S·李(Xiaoye S.Li)、彼得·盖泽尔(Pieter Ghysels)和阿特姆·纳波夫(Artem Napov)。2015.使用随机化进行密集分层半可分矩阵计算的分布式内存包。42, 4 (2015).arXiv:1503.05464。
    [52]
    Tyler M.Smith、Robert van de Geijn、Mikhail Smelyanskiy、Jeff R.Hammond和Field G.van Zee。2014.高性能多线程矩阵乘法剖析。2014 IEEE第28届国际并行和分布式处理研讨会(IPDPS’14)会议记录IEEE计算机学会,美国,1049–1059。
    [53]
    埃德加·所罗门尼克和詹姆斯·德梅尔。2011.通信优化并行2.5D矩阵乘法和LU因子分解算法。2011年Euro-Par并行处理(计算机科学课堂讲稿)、Emmanuel Jeannot、Raymond Namyst和Jean Roman(编辑)。柏林施普林格,90-109。
    [54]
    奈杰尔·斯蒂芬斯(Nigel Stephens)、斯图亚特·比尔斯(Stuart Biles)、马蒂亚斯·博彻(Matthias Boettcher)、雅各布·伊彭(Jacob Eapen)、姆布·伊约尔(Mbou Eyole)、贾科莫·加布里埃利(Giacomo Gabrielli)、马特·霍斯内尔(Matt Horsnell)、格里戈里奥斯·马奎斯(Grigorios Magklis)、亚。2017。ARM可扩展矢量扩展。IEEE微型37,2(2017年3月),26-39。arxiv:1803.06185号.
    [55]
    Field G.Van Zee和Robert A.Van de Geijn。2015年,BLIS:快速实例化BLAS功能的框架。ACM事务处理。数学。软件41,3(2015年6月),14:1–14:33。
    [56]
    R.Vuduc、J.W.Demmel、K.A.Yelick、S.Kamil、R.Nishtala和B.Lee。2002.稀疏矩阵-向量乘法的性能优化和界限。SC'02:2002年ACM/IEEE超级计算会议记录. 26–26.
    [57]
    R.C.Whaley和J.J.Dongarra。1998年。自动调整线性代数软件。IEEE/ACM SC98会议记录IEEE,美国佛罗里达州奥兰多,38-38。
    [58]
    卡尔·罗伯特·威克曼(Karl-Robert Wichmann)、马丁·克朗比切勒(Martin Kronbichler)、雷纳德·洛纳(Rainald Löhner)和沃尔夫冈·沃尔(Wolfgang A.Wall)。2019.CFD中基于模板的复杂循环内核的优化和性能模型的实际适用性。国际高性能计算应用杂志33,4(2019年7月),602-618。
    [59]
    塞缪尔·威廉姆斯、安德鲁·沃特曼和大卫·帕特森。2009年,《屋顶线:多核心架构的直观性能模型》。
    [60]
    马库斯·维特曼(Markus Wittmann)、乔治·海格(Georg Hager)、托马斯·泽塞(Thomas Zeiser)、扬·特雷比格(Jan Treibig)和格哈德·韦林(Gerhard Wellein)。2016.能量优化晶格的芯片级和多节点分析-Boltzmann CFD模拟。并行与计算:实践与经验28,7(2016年5月),2295-2315。arxiv公司:1304.7664.
    [61]
    杨伟玲(Weiling Yang)、方建斌(Jianbin Fang)、董德尊(Dezun Dong)、苏兴(Xing Su)和王郑(Zheng Wang)。【未注明日期】。LibShalom:在ARMv8多核上优化小型和不规则形状的矩阵乘法。(【n.d.】),13。
    [62]
    K.Yotov、Xiaoming Li、Gang Ren、M.J.S.Garzaran、D.Padua、K.Pingali和P.Stodghill。2005.生成高性能BLAS真的需要搜索吗?程序。电气与电子工程师协会93,2(2005年2月),358–386。会议名称:IEEE会议记录。
    [63]
    Chenhan D.Yu、Severin Reiz和George Biros。密集对称分层半可分矩阵的分布式o(n)线性求解器。2019年IEEE第13届嵌入式多核/多核系统芯片(MCSoC)国际研讨会IEEE,新加坡,1-8。
    [64]
    Field G.Van Zee、Tyler M.Smith、Bryan Marker、Tze Meng Low、Robert A.Van de Geijn、Francisco D.Igual、Mikhail Smelyanskiy、Xianyi Zhang、Michael Kistler、Vernon Austel、John A.Gunnels和Lee Killough。2016年。BLIS框架:可移植性实验。ACM事务处理。数学。软件42,2(2016年6月),12:1–12:19。

    建议

    评论

    信息和贡献者

    问询处

    发布于

    数学软件上的封面图像ACM事务
    ACM数学软件汇刊 第49卷第3期
    2023年9月
    200页
    国际标准编号:0098-3500
    EISSN公司:1557-7295
    内政部:10.1145/3624972
    期刊目录

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2023年9月19日
    认可的:2023年3月21日
    修订过的:2022年12月27日
    收到:2021年10月25日
    发表于TOMS体积49,问题

    权限

    请求对此文章的权限。

    检查更新

    作者标记

    1. 低秩矩阵乘法
    2. 分批矩阵乘法
    3. 缓存阻塞
    4. 性能建模

    限定符

    • 研究文章

    资金来源

    • 日本海军陆战队队员
    • 日本跨学科大规模信息基础设施联合使用/研究中心

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

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

    其他指标

    引文

    视图选项

    获取访问权限

    登录选项

    完全访问权限

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

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

    电子阅读器

    全文

    以全文形式查看本文。

    全文

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享