×

HPMaX:使用CPU和GPU的异构并行矩阵乘法。 (英语) Zbl 1455.65071号

摘要:我们提出了一种新的异构并行矩阵乘法算法,该算法对大规模矩阵同时使用中央处理器(CPU)和图形处理单元(GPU)。基于Strassen方法,我们将矩阵乘法工作表示为子矩阵之间的一组矩阵加法和乘法任务。然后,我们将任务分配给CPU和GPU,同时考虑任务和计算资源的特性,以最大限度地减少数据通信开销,并充分利用可用的计算能力。为了在有限的GPU内存下有效地处理大型矩阵,我们还提出了一种基于块的工作分解方法。然后,我们通过利用异构并行计算系统的并发执行能力进一步提高了方法的性能。我们在五个不同的异构系统上实现了我们的方法,并将其应用于各种大小的矩阵。我们的方法通常显示出比现有的基于GPU的矩阵乘法方法更高的性能。此外,与最先进的GPU矩阵乘法库(即CUBLAS)相比,使用相同的GPU和CPU内核,我们的方法实现了高达1.97倍的性能。在某些情况下,我们使用低性能GPU(例如GTX 1060,3 GB)的方法实现了与使用高性能GPU的CUBLAS相当的性能(例如RTX 2080,8 GB)。此外,随着我们使用更多计算资源(如额外的CPU内核和GPU),我们的方法不断提高性能。我们可以实现如此高的性能,因为我们的方法充分利用了给定异构并行计算系统的容量,同时使用了具有较低渐近复杂性的Strassen方法。这些结果证明了我们算法的有效性和鲁棒性。

MSC公司:

65层99 数值线性代数
2005年5月 并行数值计算
65日元10 特定类别建筑的数值算法
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] AMD Ryzen系列https://www.amd.com/en/products/embedded-ryzen-series网站 (2020)
[2] Abdelfattah A,Tomov S,Dongarra J(2019)在gpu上使用半精度算法实现小规模快速批处理矩阵乘法。2019年IEEE国际并行和分布式处理研讨会(IPDPS),IEEE,第111-122页
[3] 阿加瓦尔,RC;SM Balle;古斯塔夫森,FG;乔希,M。;Palkar,P.,并行矩阵乘法的三维方法,IBM J Res Dev,39,5,575-582(1995)·数字对象标识代码:10.1147/rd.395.0575
[4] Ballard G,Demmel J,Holtz O,Lipshitz B,Schwartz O(2012)Strassen矩阵乘法的通信优化并行算法。摘自:第二十四届ACM算法和架构并行研讨会论文集,ACM,第193-204页·Zbl 1385.68057号
[5] Barrachina S、Castillo M、Igual FD、Mayo R、Quintana-Orti ES(2008)图形处理器三级长方体的评估和调整。2008年IEEE并行和分布式处理国际研讨会,IEEE,第1-8页
[6] Chtchelkanova,A。;Gunnels,J。;莫罗,G。;Overfelt,J。;Van De Geijn,RA,blas的并行实现:3级blas的通用技术,Concurr Pract Exp,9,9,837-857(1997)·doi:10.1002/(SICI)1096-9128(199709)9:9<837::AID-CPE267>3.0.CO;2-2
[7] Coppersmith D,Winograd S(1987)《通过算术级数进行矩阵乘法》。在:美国计算机学会第十九届年度计算理论研讨会论文集,美国计算机学会,第1-6页·Zbl 0702.65046号
[8] 达贡,L。;Menon,R.,OpenMP:共享内存编程的行业标准API,IEEE计算科学工程,5,46-55(1998)·doi:10.1009/99.660313
[9] Fatahalian K,Sugerman J,Hanrahan P(2004)了解gpu算法在矩阵矩阵乘法中的效率。摘自:ACM SIGGRAPH/EUROGRAPHICS图形硬件会议记录,ACM,第133-137页
[10] 讽刺,D。;托莱多,S。;Tiskin,A.,分布记忆矩阵乘法的通信下限,并行分布计算杂志,64,9,1017-1026(2004)·Zbl 1114.68081号 ·doi:10.1016/j.jpdc.2004.03.021
[11] 伊图,L。;莫尔多瓦努,F。;苏西乌,C。;Postelnicu,A.,Gpu增强的基于流的矩阵乘法,Bull Transil Univ Brasov Eng Sci Ser I,5,2,79(2012)
[12] Karunadasa N,Ranasinghe D(2009)关于小型GPU/CUDA集群上并行算法的比较性能。参加:高性能计算国际会议
[13] 凯莱福拉斯,V。;Kritikakou,A。;Goutis,C.,《使用simd的单/多核体系结构矩阵-矩阵乘法》,J Supercomput,68,3,1418-1440(2014)·doi:10.1007/s11227-014-1098-9
[14] Kim D,Heo JP,Huh J,Kim J,Yoon SE(2009)HPCCD:混合并行连续碰撞检测。计算图论坛(Pac Graph)28(7)
[15] Kim,D。;Lee,J。;Lee,J。;Shin,I。;Kim,J。;Yoon,SE,针对邻近查询的异构计算环境中的调度,IEEE Trans-Vis计算图,19,9,1513-1525(2013)·doi:10.1109/TVCG.2013.71
[16] Lai PW,Arafat H,Elango V,Sadayappan P(2013)在GPU上加速Strassen-Winograd的矩阵乘法算法。In:第20届高性能计算国际会议(HiPC),IEEE,第139-148页
[17] Li A,Serban R,Negrut D(2014)《nvidia tegra k1建筑概述》。http://sbel.wisc.edu/documents/TR-2014-17
[18] Lipshitz B、Ballard G、Demmel J、Schwartz O(2012)《通信——避免并行战略:实施和性能》。摘自:高性能计算、网络、存储和分析国际会议论文集,第101页·Zbl 1385.68057号
[19] Liu W,Vinter B(2014)非规则数据的高效GPU通用稀疏矩阵乘法。摘自:IEEE第28届国际并行和分布式处理研讨会,IEEE,第370-381页
[20] NVIDIA:CUBLAS库https://developer.nvidia.com/cublas网站 (2018)
[21] NVIDIA:CUDA编程指南9.2(2018)
[22] Ohtaki Y,Takahashi D,Boku T,Sato M(2004)异构集群中strassen矩阵乘法算法的并行实现。In:第18届国际并行和分布式处理研讨会,美国电气与电子工程师协会论文集,第112页
[23] Pan VY(1979)矩阵乘法加速的字段扩展和三线性聚合、合并和取消。摘自:IEEE计算机科学基础,IEEE,第28-38页
[24] Pan,VY,矩阵运算的新快速算法,SIAM J Comput,9,2,321-342(1980)·兹比尔0446.68034 ·doi:10.1137/0209027
[25] Ray U,Hazra TK,Ray UK(2016),在CPU和GPU上使用Strassen算法的矩阵乘法
[26] Ryu S,Kim D(2018)使用gpgpu加速器在集群上并行大型矩阵乘法。参加:2018 IEEE国际并行和分布式处理研讨会(IPDPSW),IEEE,第877-882页
[27] 萨拉瓦南,V。;Radhakrishnan,M。;Basavesh,A。;Kothari,D.,《使用openmp对多核cpu性能优势的比较研究》,国际计算科学期刊(IJCSI),9,1,272(2012)
[28] Schönhage,A.,部分和全部矩阵乘法,SIAM J Compute,10,3,434-455(1981)·Zbl 0462.68018号 ·数字对象标识代码:10.1137/021032
[29] 斯特拉森,V.,高斯消去不是最优的,数值数学,13,4,354-356(1969)·Zbl 0185.40101号 ·doi:10.1007/BF02165411
[30] Strassen V(1986)张量的渐近谱和矩阵乘法的指数。摘自:第27届计算机科学基础年会,IEEE,第49-54页
[31] 孙毅,童毅(2010)基于Cuda的快速实现超大矩阵计算。2010年并行和分布式计算、应用和技术国际会议,第487-491页。10.1109/PDCAT.2010.45
[32] Sunitha N,Raju K,Chiplunkar NN(2017)通过减少CPU-GPU数据传输开销提高CUDA应用程序的性能。In:创造性通信和计算技术国际会议(ICICCT),第211-215页
[33] Volkov V,Demmel JW(2008)调整稠密线性代数的基准GPU。In:高性能计算、网络、存储和分析国际会议,IEEE,第1-11页
[34] Yugopuspito P,Sutrisno Hudi R(2013)使用strassen算法突破GPU并行处理的内存限制。In:计算机、控制、信息学及其应用国际会议(IC3INA),第201-205页
[35] Zhang P,Gao Y(2015)高密度多gpu体系结构上的矩阵乘法:理论和实验研究。In:高性能计算国际会议,Springer,第17-30页
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。