×

混合精度块融合乘加:误差分析及在GPU张量核中的应用。 (英语) Zbl 1452.65425号

摘要:使用矩阵参数执行融合乘加(FMA)运算的计算单元,被一些供应商称为张量单元,在科学计算中具有很大的潜力。然而,这些单位固有的混合精度,现有的舍入误差分析不支持它们。我们考虑一种混合精度块FMA,它推广了通常的标量FMA和现有的张量单位。我们描述了如何在矩阵乘法和LU分解的数值线性代数核中利用这种块FMA,并对这两个核进行了详细的舍入误差分析。一个重要的应用是使用块FMA进行基于GMRES的迭代精化,我们的分析提供了新的见解。我们的框架适用于NVIDIA Volta和Turing GPU中的张量核心单元。为此,我们将矩阵乘法和LU因式分解与TC16和TC32形式的FMA进行了比较,后者用于张量核输出的精度不同。我们在NVDIA V100 GPU上的实验证实了分析的预测,即TC32变型比TC16变型要准确得多,并且表明在几乎没有性能损失的情况下提高了精度。

MSC公司:

65日元10 特定类别建筑的数值算法
65平方英尺 线性系统和矩阵反演的直接数值方法
65F08个 迭代方法的前置条件
65克50 舍入误差
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] A.Abdelfattah、S.Tomov和J.Dongarra,《走向复矩阵的半精度计算:GPU上混合精度求解器的案例研究》,2019年IEEE/ACM第十届大系统可缩放算法最新进展研讨会(ScalA),2019,第17-24页,https://doi.org/10.109/ScalA49573.2019.0008。
[2] J.Appleyard和S.Yokim,CUDA 9中的张量核编程,https://devblogs.nvidia.com/programming-tensor-cores-cuda-9/,2017年(2019年3月25日访问)。
[3] ARM体系结构参考手册。ARMv8,用于ARMv8-A架构概要,ARM有限公司,英国剑桥,2018年,https://developer.arm.com/docs/ddi0487/最新2018年10月31日版本;2013年4月30日发布的原始版本。
[4] P.Blanchard、N.J.Higham和T.Mary,一类快速准确的求和算法,SIAM J.Sci。计算。,42(2020),第1541-1557页,https://doi.org/10.1137/19M1257780; MIMS EPrint 2019.6,英国曼彻斯特大学曼彻斯特数学科学研究所,2019年,http://eprints.maths.manchester.ac.uk/2748/,2020年2月修订·Zbl 1471.65035号
[5] P.R.Capello和W.L.Miranker,收缩超总和,IEEE Trans。计算。,37(1988),第657-677页,https://doi.org/10.109/12.2205。 ·兹伯利0647.65032
[6] E.Carson和N.J.Higham,《迭代求精的新分析及其在病态稀疏线性系统精确解中的应用》,SIAM J.Sci。计算。,39(2017),第A2834-A2856页,https://doi.org/10.1137/17M1122918。 ·Zbl 1379.65019号
[7] E.Carson和N.J.Higham,通过三种精度的迭代求精加速线性系统的求解,SIAM J.Sci。计算。,40(2018年),第A817-A847页,https://doi.org/10.1137/17M1140819。 ·Zbl 1453.65067号
[8] E.Carson、N.J.Higham和S.Pranesh,基于三精度GMRES的最小二乘问题迭代精化,MIMS EPrint 2020.5,英国曼彻斯特大学曼彻斯特数学科学研究所,2020年,http://eprints.mathemats.manchester.ac.uk/2745/。
[9] CUDA C++编程指南,https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#wmma-型号尺寸,2019,版本10.2.892019。
[10] 富士通M.Feldman透露将为Post-K超级计算机提供动力的处理器的详细信息,https://www.top500.org/news/fujitsu-reveals-details-of-processor-tha-will-power-post-k-supercomputer2018年11月22日访问)。
[11] M.Feldman,IBM致力于降低新一代AI芯片的精度,https://www.top500.org/news/ibm-takes-aim-at-reduced-precision-for-new-generation-of-ai-chips网站/,2018年(2019年1月8日访问)。
[12] A.Haidar、A.Abdelfattah、M.Zounon、P.Wu、S.Pranesh、S.Tomov和J.Dongarra,《快速节能线性解算器的设计:半精度算法和迭代求精技术的潜力》,载于《计算科学》2018年,Y.Shi、H.Fu、Y.Tian、V.V.Krzhizhanovskaya、M.H.Lees、J.Dongearra和P.M.A。Sloot,eds.,Springer,Cham,2018年,第586-600页,https://doi.org/10.1007/978-3-319-93698-7_45。
[13] A.Haidar、H.Bayraktar、S.Tomov、J.Dongarra和N.J.Higham,《使用基于加速器的计算的线性系统混合精度解决方案》,技术报告,2020年,正在编制中。
[14] A.Haidar、S.Tomov、J.Dongarra和N.J.Higham,《利用GPU张量核快速FP16算法加速混合精度迭代求精求解器》,载《高性能计算、网络、存储和分析国际会议论文集》,SC'18(德克萨斯州达拉斯),IEEE出版社,新泽西州皮斯卡塔韦,2018年,第47:1-47:11页, https://doi.org/10.1109/SC2018.00050。
[15] A.Haidar、P.Wu、S.Tomov和J.Dongarra,《研究半精度算法以加速稠密线性系统解算器》,载于《第八届大型系统可缩放算法最新进展研讨会论文集》,2017年,美国计算机学会出版社,纽约,2017,第10:1-10:8页,https://doi.org/10.1145/3148226.3148237。
[16] J.W.Hanlon,机器智能新芯片,https://jameswhanlon.com/new-chips-for-machine-intelligence.html2019年11月27日访问)。
[17] N.J.Higham,《数值算法的准确性和稳定性》,第二版,SIAM,宾夕法尼亚州费城,2002年,https://doi.org/10.1137/1.9780898718027。 ·Zbl 1011.65010号
[18] N.J.Higham和T.Mary,概率舍入误差分析的新方法,SIAM J.Sci。计算。,41(2019),第A2815-A2835页,https://doi.org/10.1137/18M1226312。 ·Zbl 07123205号
[19] N.J.Higham和T.Mary,《随机数据基本线性代数核的夏普概率向后误差分析》,MIMS EPrint 2020.4,英国曼彻斯特大学曼彻斯特数学科学研究所,2020年,http://eprints.mathems.manchester.ac.uk/2743/。
[20] N.J.Higham和S.Pranesh,利用低精度算法解决对称正定线性系统和最小二乘问题,MIMS EPrint 2019.20,英国曼彻斯特大学曼彻斯特数学科学研究所,2019年,http://eprints.mathemats.manchester.ac.uk/2736/。
[21] N.J.Higham、S.Pranesh和M.Zounon,将矩阵压缩为半精度,并应用于求解线性系统,SIAM J.Sci。计算。,41(2019),第A2536-A2551页,https://doi.org/10.1137/18M1229511。 ·Zbl 1420.65017号
[22] IEEE浮点运算标准,IEEE Std 754-2019(IEEE 754-2008修订版),IEEE计算机学会,纽约,2019年,https://doi.org/10.109/IEEESTD.2019.8766229。
[23] 英特尔公司,BFLOAT16-硬件数值定义,白皮书,文件338302-001US,2018,https://software.intel.com/en-us/download/bfloat16-hardware-numerics-definition。
[24] W.Kraömer和M.Zimmer,《使用无错误转换和BLAS的C-XSC中的快速(并行)密集线性系统解算器》,载于《当前硬件架构中的数值验证》,A.Cuyt,W.Kra-mer,W.Luther,and P.Markstein,eds.,Springer,Berlin,Heidelberg,2009年,第230-249页,https://doi.org/10.1007/978-3642-01591-5_15。
[25] U.W.Kulisch和W.L.Miranker,《数字计算机的算术:一种新方法》,SIAM Rev.,28(1986),第1-40页,https://doi.org/10.1137/1028001。 ·Zbl 0597.65037号
[26] S.Markidis、S.Wei Der Chien、E.Laure、I.B.Peng和J.S.Vetter,NVIDIA张量核心可编程性、性能和精度,2018年IEEE国际并行和分布式处理研讨会(IPDPSW),第522-531页,https://doi.org/10.109/ipdpsw.2018.00091。
[27] ORNL推出Summit超级计算机,https://www.ornl.gov/news/ornl-launches-summit-supercomputer网站2018年6月30日访问)。
[28] N.Rao,《超越CPU或GPU:为什么企业级人工智能需要更全面的方法》,https://newsroom.intel.com/editorials/artificial-intelligence-requires-holistic-approach2018年11月5日访问)。
[29] S.M.Rump,《验证方法:使用浮点运算的严格结果》,Acta Numer。,19(2010),第287-449页,https://doi.org/10.1017/S096249291000005X。 ·Zbl 1323.65046号
[30] S.M.Rump,IEEE754 precision-\(k\)base-\(beta\)算术继承了\(k<M\)的precisior-\(M\)base-\(beta \)算术,ACM Trans。数学。软件,43(2016),第20:1-20:15页,https://doi.org/10.1145/2785965。 ·Zbl 1396.65177号
[31] A.Shilov,《英特尔体系结构手册更新:仅适用于Cooper Lake Xeon的bfloat16》?,https://www.anandtech.com/show/14179/intel-manual-updates-bfloat16-for-cooper-lake-xeon-scalable-only网站2019年5月22日访问)。
[32] 数字峰会,https://www.olcf.ornl.gov/wp-content/uploads/2018/06/Summit_bythenumbers_FIN.png2018年6月30日访问)。
[33] Y.Tao、G.Deyuan、F.Xiaoya和J.Nurmi,《浮点多操作数加法和点产品计算的正确四舍五入体系结构》,2013年IEEE第24届应用特定系统、体系结构和处理器国际会议,2013年,第346-355页,https://doi.org/10.1109/ASAP.2013.6567600。
[34] S.Wang和P.Kanwar,《BFloat16:云TPU高性能的秘密》,https://cloud.google.com/blog/products/ai-machine-learning/bfloat16-the-secret-to-high-performance-on-cloud-tpus2019年9月14日访问)。
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。