×

奇异值分解:针对极端规模优化算法的剖析。 (英语) Zbl 1410.65114号

在本出版物中,作者调查了稠密矩阵SVD算法的演变,讨论了变化的动机和性能影响。提到了稠密SVD方法的两个主要分支:二对角化和雅可比。

双对角化方法始于Golub和Reinsch在Algol60中的实现,随后被移植到EISPACK库中的Fortran,后来在LINPACK库更有效地实现,以当代向量机为目标。为了解决基于缓存的内存层次结构,重新制定了SVD算法,以使用LAPACK库中的级别3 BLAS。为了解决新的体系结构,引入了ScaLAPACK以利用分布式计算,并为GPU等加速器开发了MAGMA。在算法上,开发了分治和MRRR算法以减少操作数量。尽管如此,这些方法仍然存在内存限制,因此开发了两阶段算法,以减少内存操作并增加计算强度,并在PLASMA、DPLASMA和MAGMA中高效实现。

雅可比方法始于Kogbetliantz的双边方法和Hestenes的单边方法。它们也有许多发展,包括并行和块版本以及改善收敛的预处理。

在本文中,作者通过在一个通用的现代多核机器和分布式计算平台上测试各种历史和当前实现来研究这些变化的影响。他们表明,算法和实现的改进将SVD的速度提高了几个数量级,同时能耗减少了40倍。

MSC公司:

65英尺15英寸 矩阵特征值和特征向量的数值计算
65日元 数值算法的封装方法
15甲18 特征值、奇异值和特征向量
15A23型 矩阵的因式分解
2005年5月 并行数值计算
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] E.Agullo、B.Hadri、H.Ltaief和J.Dongarrra,多核硬件上多软件包单侧分解的比较研究,《高性能计算、网络、存储和分析会议记录》(SC'09),ACM,2009年,第20条。
[2] E.Anderson、Z.Bai、C.Bischof、S.Blackford、J.Dongarra、J.Du Croz、A.Greenbaum、S.Hammarling、A.McKenney和D.Sorensen,LAPACK用户指南第三版,SIAM,费城,1999年·Zbl 0934.65030号
[3] H.Andrews和C.Patterson,奇异值分解(SVD)图像编码,IEEE传输。社区。,24(1976年),第425-432页。
[4] P.Arbenz和G.H.Golub,低秩扰动修正厄米矩阵的谱分解及其应用,SIAM J.矩阵分析。申请。,9(1988年),第40-58页·Zbl 0646.65033号
[5] P.Arbenz和I.Slapničar,计算奇异值分解的块雅可比算法的并行实现分析,《第17届信息技术接口国际会议论文集》,ITI,1995年,第13-16页。
[6] G.Ballard、J.Demmel和N.Knight,避免在连续的频带减少中进行通信,ACM变速器。并行计算。,1(2015),第11页。
[7] J.L.Barlow,计算奇异值分解的更精确的双对角约简,SIAM J.矩阵分析。申请。,23(2002),第761-798页·Zbl 1007.65026号
[8] M.Bečka、G.Oks \780,a和M.Vajters \780]ic,并行块的动态排序——Jacobi SVD算法,并行计算。,28(2002),第243-262页·Zbl 0983.68251号
[9] M.Bečka、G.Oks \780,a和M.Vajters \780]ic,并行单边块Jacobi SVD算法的新动态排序,并行进程。莱特。,25(2015),第1550003条·Zbl 1376.65043号
[10] M.Bečka、G.Oks \780,a、M.Vajters \780]ic和L.Grigori,并行块Jacobi SVD算法中的迭代QR预处理,并行计算。,36(2010),第297–307页·Zbl 1204.68259号
[11] M.Bečka和M.VajtersṸic,分布式存储系统的块Jacobi SVD算法I:超立方体和环,并行算法应用。,13(1999),第265-287页·兹伯利0926.65044
[12] M.Bečka和M.VajtersṸic,分布式存储系统的块Jacobi SVD算法II:网格,并行算法应用。,14(1999),第37-56页·兹比尔1038.65029
[13] C.Bischof、B.Lang和X.Sun,算法807:用于连续频带缩减的SBR工具箱软件,ACM变速器。数学。《软件》,26(2000),第602-616页·Zbl 1365.65104号
[14] C.Bischof和C.Van Loan,Householder矩阵乘积的WY表示,SIAM J.科学。统计师。计算。,8(1987),第2-13页·Zbl 0628.65033号
[15] C.H.Bischof,分布式向量处理器系统奇异值分解的计算,并行计算。,11(1989),第171–186页·Zbl 0676.65029号
[16] L.S.Blackford、J.Choi、A.Cleary、E.D'Azevedo、J.Demmel、I.Dhillon、J.Dongarra、S.Hammarling、G.Henry、A.Petitet等人。,ScaLAPACK用户指南,SIAM,费城,1997年·Zbl 0886.65022号
[17] L.S.Blackford、A.Petitet、R.Pozo、K.Remington、R.C.Whaley、J.Demmel、J.Dongarra、I.Duff、S.Hammarling、G.Henry等人。,更新的基本线性代数子程序集(BLAS),ACM变速器。数学。《软件》,28(2002),第135–151页·Zbl 1070.65520号
[18] G.Bosilca、A.Bouteiller、A.Danalis、M.Faverge、A.Haidar、T.Herault、J.Kurzak、J.Langou、P.Lemarinier、H.Ltaief等人。,使用DPLASMA在大规模并行体系结构上灵活开发稠密线性代数算法,2011年IEEE并行和分布式处理研讨会国际研讨会和博士论坛(IPDPSW),IEEE,2011年,第1432-1441页。
[19] G.Bosilca、A.Bouteiller、A.Danalis、T.Herault、P.Lemarinier和J.Dongarra,DAGuE:用于高性能计算的通用分布式DAG引擎,并行计算。,38(2012),第37-51页。
[20] W.H.Boukaram、G.Turkiyyah、H.Ltaief和D.E.Keyes,GPU上的成批QR和SVD算法及其在分层矩阵压缩中的应用,并行计算。,74(2017),第19-33页。
[21] R.P.Brent和F.T.Luk,多处理机阵列上奇异值和对称特征值问题的求解,SIAM J.科学。统计师。计算。,6(1985年),第69-84页·Zbl 0575.65027号
[22] R.P.Brent、F.T.Luk和C.Van Loan,用网络连接处理器计算奇异值分解,J.VLSI计算。系统。,1(1985年),第242-270页·Zbl 0597.65029号
[23] T.F.Chan,一种改进的奇异值分解算法,ACM变速器。数学。《软件》,8(1982),第72-83页·Zbl 0477.65032号
[24] J.Choi、J.Dongarra和D.W.Walker,并行密集线性代数软件库的设计:简化为Hessenberg、三对角和双对角形式,数字。《算法》,10(1995),第379-399页·Zbl 0839.65050号
[25] J.J.M.Cuppen,对称三对角特征值问题的分治方法,数字。数学。,36(1980),第177-195页·Zbl 0431.65022号
[26] P.I.Davies和N.J.Higham,相关矩阵及其因子的数值稳定生成《印度理工学院学报》,40(2000),第640-651页·Zbl 0969.65036号
[27] P.P.M.de Rijk,在向量机上计算奇异值分解的单侧Jacobi算法,SIAM J.科学。统计师。计算。,10(1989),第359–371页·Zbl 0667.65035号
[28] S.Deerwester、S.T.Dumais、G.W.Furnas、T.K.Landauer和R.Harshman,基于潜在语义分析的索引,J.艾默。Soc.通知。科学。,41(1990年),第391-407页。
[29] J.Demmel、L.Grigori、M.Hoemmen和J.Langou,通信最优并行和序列QR和LU分解,SIAM J.科学。计算。,34(2012),第A206–A239页·兹比尔1241.65028
[30] J.Demmel、M.Gu、S.Eisenstat、I.Slapničar、K.VeselicṸ和Z.Drmac,高精度奇异值分解计算,线性代数应用。,299(1999),第21-80页·兹比尔0952.65032
[31] J.Demmel和W.Kahan,双对角矩阵的精确奇异值,SIAM J.科学。统计师。计算。,11(1990年),第873–912页·Zbl 0705.65027号
[32] J.Demmel和K.Veselic©,雅各比方法比QR更准确,SIAM J.矩阵分析。申请。,13(1992),第1204–1245页·Zbl 0759.65011号
[33] J.W.Demmel,应用数值线性代数,SIAM,费城,1997年·Zbl 0879.65017号
[34] J.W.Demmel、I.Dhillon和H.Ren,浮点算法中某些对分型并行特征值算法的正确性,电子。事务处理。数字。分析。,3(1995年),第116-149页·Zbl 0860.65026号
[35] I.S.Dhillon,对称三对角特征值/特征向量问题的一种新的O((n^2))算法,博士论文,加州大学伯克利分校EECS系,1997年。
[36] I.S.Dhillon和B.N.Parlett,计算对称三对角矩阵正交特征向量的多重表示,线性代数应用。,387(2004),第1-28页·Zbl 1055.65048号
[37] I.S.Dhillon和B.N.Parlett,正交特征向量和相对间隙,SIAM J.矩阵分析。申请。,25(2004),第858–899页·Zbl 1068.65046号
[38] I.S.Dhillon、B.N.Parlett和C.Vomel,MRRR算法的设计与实现,ACM变速器。数学。《软件》,32(2006),第533-560页·Zbl 1230.65046号
[39] J.Dongarra、J.R.Bunch、C.B.Moler和G.W.Stewart,LINPACK用户指南,SIAM,费城,1979年。
[40] J.Dongarra、J.Du Croz、S.Hammarling和I.S.Duff,一组三级基本线性代数子程序,ACM变速器。数学。《软件》,16(1990),第1-17页·Zbl 0900.65115号
[41] J.Dongarra、J.Du Croz、S.Hammarling和R.J.Hanson,FORTRAN基本线性代数子程序的扩展集,ACM变速器。数学。《软件》,14(1988),第1-17页·Zbl 0639.65016号
[42] J.Dongarra、D.C.Sorensen和S.J.Hammarling,特征值计算中矩阵的块化简,J.计算。申请。数学。,27(1989),第215-227页·Zbl 0679.65025号
[43] Z.Drmač,算法977:一种高精度计算奇异值分解的QR-先决QR-SVD方法,ACM变速器。数学。《软件》,44(2017),第11页·Zbl 1484.65067号
[44] Z.Drmač和K.Veselic,一种新的快速准确的Jacobi SVD算法,I,SIAM J.矩阵分析。申请。,29(2008),第1322-1342页·Zbl 1221.65100号
[45] Z.Drmač和K.Veselic,一种新的快速准确的Jacobi SVD算法,II,SIAM J.矩阵分析。申请。,29(2008),第1343-1362页·兹比尔1221.65101
[46] P.Eberlein,并行计算的单侧Jacobi方法,SIAM J.代数离散方法,8(1987),第790-796页·Zbl 0653.65026号
[47] 艾根,本征2017年3月3日。
[48] K.V.Fernando和B.N.Parlett,精确奇异值和微分qd算法,数字。数学。,67(1994),第191-229页·Zbl 0814.65036号
[49] G.E.Forsyth和P.Henrici,计算复矩阵主值的循环雅可比方法,事务处理。阿默尔。数学。Soc.,94(1960),第1-23页·Zbl 0092.32504号
[50] B.S.Garbow、J.M.Boyle、C.B.Moler和J.Dongarra,矩阵特征系统例程–EISPACK指南扩展,计算机课堂讲稿。科学。柏林施普林格51号,1977年·Zbl 0368.65020号
[51] M.Gates、S.Tomov和J.Dongarra,使用GPU加速SVD两阶段双对角约简和分治,并行计算。,74(2018),第3-18页。
[52] G.Golub,一些改进的矩阵特征值问题SIAM Rev.,15(1973),第318–334页·Zbl 0254.65027号
[53] G.Golub和W.Kahan,计算矩阵的奇异值和伪逆,《社会工业杂志》。申请。数学。序列号。B数字。分析。,2(1965年),第205-224页·Zbl 0194.18201号
[54] G.Golub和C.Reinsch,奇异值分解和最小二乘解,数字。数学。,14(1970年),第403-420页·Zbl 0181.17602号
[55] B.Großer和B.Lang,高效并行化简为双对角形式,并行计算。,25(1999),第969-986页·Zbl 1062.65503号
[56] M.Gu、J.Demmel和I.Dhillon,奇异值分解的有效计算及其在最小二乘问题中的应用《技术报告LBL-36201》,劳伦斯伯克利实验室,1994年。
[57] M.Gu和S.C.Eisenstat,一种用于双向SVD的分治算法《耶鲁大学计算机科学系YALEU/DCS/TR-933技术报告》,1992年·Zbl 0821.65019号
[58] M.Gu和S.C.Eisenstat,对称特征值问题秩一修正的稳定有效算法,SIAM J.矩阵分析。申请。,15(1994年),第1266–1276页·Zbl 0807.65029号
[59] M.Gu和S.C.Eisenstat,双对角奇异值分解的分治算法,SIAM J.矩阵分析。申请。,16(1995年),第79-92页·Zbl 0821.65019号
[60] A.Haidar、J.Kurzak和P.Luszczek,一种改进的多核硬件并行奇异值算法及其实现,《高性能计算、网络、存储和分析国际会议论文集》(SC'13),ACM,2013年,第90条。
[61] A.Haidar、H.Ltaief和J.Dongarra,使用聚合细粒度和存储软件内核并行化简为压缩形式的对称特征值问题,《2011年高性能计算、网络、存储和分析国际会议论文集》(SC'11),ACM,2011年,第8条。
[62] A.Haidar、H.Ltaief、P.Luszczek和J.Dongarra,两阶段双向约简中选择并行粒度的任务合并综合研究,2012年IEEE第26届国际并行和分布式处理研讨会(IPDPS),IEEE,2012年,第25-35页。
[63] S.Hammarling,关于Givens平面旋转修正的注记IMA J.应用。数学。,13(1974年),第215–218页·Zbl 0278.65037号
[64] V.哈里,加速SVD块-Jacobi方法《计算》,75(2005),第27-53页·Zbl 1079.65046号
[65] V.Hari和J.Matejas,(2×2)三角矩阵的两种奇异值分解算法的精度,申请。数学。计算。,210(2009),第232–257页·Zbl 1166.65014号
[66] V.Hari和K.Veselic,奇异值分解的Jacobi方法,SIAM J.科学。统计师。计算。,8(1987),第741-754页·兹比尔062765039
[67] M.Heath、A.Laub、C.Paige和R.Ward,计算两个矩阵乘积的奇异值分解,SIAM J.科学。统计师。计算。,7(1986),第1147-1159页·兹伯利0607.65013
[68] M.R.Hestenes先生,矩阵的双正交化反演及相关结果,《社会工业杂志》。申请。数学。,6(1958年),第51-90页·Zbl 0085.33003号
[69] G.W.Howell、J.W.Demmel、C.T.Fulton、S.Hammarling和K.Marmol,使用BLAS(2.5)运算符实现高速缓存高效的双向对角化,ACM变速器。数学。软件,34(2008),第14条·Zbl 1190.65056号
[70] IBM公司,ESSL指南和参考, 2016, .
[71] 英特尔公司,英特尔数学内核库Linux操作系统版用户指南, 2015, .
[72] I.C.F.Ipsen,用逆迭代计算特征向量SIAM Rev.,39(2006),第254-291页·Zbl 0874.65029号
[73] C.G.J.Jacobi,Uéber ein leichtes verfahren死在了理论界J.Reine Angew著。数学。,30(1846),第51-94页。
[74] E.Jessup和D.Sorensen,奇异值分解的分治算法,《第三届SIAM科学计算并行处理会议论文集》,1989年,SIAM,费城,第61-66页。
[75] W.Kahan,对称三对角矩阵的精确特征值,《技术报告》,斯坦福大学,加利福尼亚州斯坦福,1966年。
[76] E.Kogbetliantz,系数矩阵对角化求解线性方程组,夸脱。申请。数学。,13(1955年),第123–132页·Zbl 0066.10101号
[77] J.Kurzak、P.Wu、M.Gates、I.Yamazaki、P.Luszczek、G.Ragghianti和J.Dongarra,SLATE:线性代数目标考试量表软件的设计,《SLATE工作说明3》,田纳西大学创新计算实验室,2017年。
[78] B.朗,带状矩阵的双对角并行化简,并行计算。,22(1996),第1-18页·Zbl 0873.65044号
[79] C.L.Lawson、R.J.Hanson、D.R.Kincaid和F.T.Krogh,FORTRAN使用的基本线性代数子程序,ACM变速器。数学。《软件》,第5卷(1979年),第308-323页·Zbl 0412.65022号
[80] R.-C.李,稳定高效地求解长期方程,技术报告UCB//CSD-94-851,计算机科学部,加州大学伯克利分校,1994年。另外:LAPACK工作说明89。
[81] S.Li、M.Gu、L.Cheng、X.Chi和M.Sun,求解双对角奇异值分解问题的加速分治算法,SIAM J.矩阵分析。申请。,35(2014),第1038–1057页·Zbl 1305.65127号
[82] H.Ltaief、J.Kurzak和J.Dongarra,多核结构上并行双边矩阵降阶为带双对角形式,IEEE传输。并行分配系统。,21(2010),第417–423页。
[83] H.Ltaief、P.Luszczek和J.Dongarra,同构多核体系结构上基于tile算法的高性能双对角约简,ACM变速器。数学。软件,39(2013),第16条·Zbl 1295.65145号
[84] F.T.Luk,计算ILLIAC IV上的奇异值分解,ACM变速器。数学。《软件》,6(1980),第524-539页·Zbl 0471.65019号
[85] F.T.Luk和H.Park,关于并行Jacobi序,SIAM J.科学。统计师。计算。,10(1989),第18-26页·Zbl 0666.65031号
[86] O.Marques和P.B.Vasconcelos,通过相关的三对角特征值问题计算双对角奇异值分解,载于《矢量与并行处理国际会议》,施普林格出版社,2016年,第64-74页·Zbl 07486623号
[87] W.F.Mascarenhas,任意序的Jacobi方法的收敛性,SIAM J.矩阵分析。申请。,16(1995),第1197-1209页·Zbl 0839.65045号
[88] J.Matejas和V.Hari,标度对角占优三角矩阵的Kogbetliantz方法的精度,申请。数学。计算。,217(2010),第3726–3746页·Zbl 1206.65138号
[89] J.Matejas和V.Hari,关于Kogbetliantz方法的高相对精度,线性代数应用。,464(2015),第100–129页·Zbl 1302.65093号
[90] 数学工程,MATLAB软件, 2017, .
[91] J.D.McCalpin,当前高性能计算机内存带宽和机器平衡的调查IEEE计算。Soc.技术委员会计算。建筑师。(TCCA)新闻稿。,19(1995),第19-25页。
[92] B.摩尔,线性系统的主成分分析:可控性、可观测性和模型简化,IEEE传输。自动化。控制,26(1981),第17-32页·Zbl 0464.93022号
[93] MPI论坛,MPI:消息传递接口标准第3.1版,2015年6月。
[94] NVIDIA公司,CUDA工具包2015年3月7日。
[95] G.Okša和M.Vajteršic,并行块Jacobi SVD算法中的高效预处理,并行计算。,32(2006),第166-176页。
[96] 开放式BLAS,OpenBLAS用户手册,2016年。
[97] B.N.Parlett,新的QD算法,实绩数字。,4(1995),第459–491页·兹比尔083565059
[98] B.N.Parlett和I.S.Dhillon,费尔南多对威尔金森问题的解:双重因式分解的应用,线性代数应用。,267(1997),第247–279页·Zbl 0886.65033号
[99] V.Rokhlin、A.Szlam和M.Tygert,一种用于主成分分析的随机算法,SIAM J.矩阵分析。申请。,31(2009),第1100-1124页·Zbl 1198.65035号
[100] H.Rutishauser,德商-微分算法,Z.Angew。数学。物理。,5(1954年),第233-251页·Zbl 0055.34702号
[101] H.Rutishauser,用LR-变换求解特征值问题,国家Bur。标准应用。数学。序列号。,49(1958),第47-81页·Zbl 0123.11303号
[102] H.Rutishauser,实对称矩阵的雅可比方法,摘自《自动计算手册:第二卷:线性代数》,格兰德伦数学。威斯。186,Springer-Verlag,纽约,1971年,第202-211页。
[103] A.H.萨米赫,并行计算机的Jacobi和Jacobi-like算法,数学。公司。,25(1971),第579–590页·Zbl 0222.65046号
[104] R.Schreiber和C.Van Loan,Householder变换乘积的存储效率WY表示,SIAM J.科学。统计师。计算。,10(1989),第53-57页·兹比尔0664.65025
[105] B.T.Smith、J.M.Boyle、J.Dongarra、B.S.Garbow、Y.Ikebe、V.C.Klema和C.B.Moler,矩阵特征系统例程–EISPACK指南,第二版,计算机课堂讲稿。科学。6,施普林格,柏林,1976年·Zbl 0325.65016号
[106] G.W.斯图尔特,随机正交矩阵的高效生成及其在条件估计中的应用,SIAM J.数字。分析。,17(1980),第403-409页·Zbl 0443.65027号
[107] G.W.Stewart,奇异值分解的早期历史SIAM Rev.,35(1993),第551-566页·Zbl 0799.01016号
[108] G.W.Stewart,QR有时击败Jacobi《技术报告CS-TR-3434》,马里兰大学,1995年。
[109] S.Tomov、R.Nath和J.Dongarra,通过基于GPU的混合计算加速简化为上Hessenberg、三对角和双对角形式,并行计算。,36(2010年),第645-654页·Zbl 1214.65020号
[110] S.Tomov、R.Nath、H.Ltaief和J.Dongarra,基于GPU加速器的多核稠密线性代数求解器,2010年IEEE并行和分布式处理国际研讨会,研讨会和博士论坛(IPDPSW),IEEE,2010年,第1-8页。
[111] M.A.Turk和A.P.Pentland,基于特征脸的人脸识别,《1991年IEEE计算机学会计算机视觉和模式识别会议论文集》,IEEE,1991年,第586–591页。
[112] C.Van Loan,计算奇异值分解的块雅可比方法《技术报告TR 85-680》,康奈尔大学,1985年·Zbl 0611.65020号
[113] F.G.Van Zee、R.A.Van de Geijn和G.Quintana-Ortiá,重组三对角和双对角QR算法以提高性能,ACM变速器。数学。《软件》,40(2014),第18页·兹比尔1322.65051
[114] F.G.Van Zee、R.A.Van De Geijn、G.Quintana-Ortií和G.J.Elizondo,矩阵压缩算法系列,ACM变速器。数学。软件,39(2012),第2条·Zbl 1295.65052号
[115] R.C.Whaley和J.Dongarra,自动调整的线性代数软件,《1998年ACM/IEEE超级计算会议论文集》,IEEE计算机学会,1998年,第1-27页。
[116] J.H.威尔金森,循环Jacobi过程二次收敛的注记,数字。数学。,4(1962年),第296–300页·兹伯利0104.34501
[117] J.H.Wilkinson和C.Reinsch,自动计算手册:第二卷:线性代数、格兰德伦数学。威斯。186,施普林格-弗拉格,纽约,1971年·Zbl 0219.65001号
[118] P.R.Willems和B.Lang,(MR^3)算法的框架:理论与实现,SIAM J.科学。计算。,35(2013),第A740-A766页·Zbl 1266.65061号
[119] P.R.Willems、B.Lang和C.Vo¨mel,使用多个相对稳健的表示计算双对角奇异值分解,SIAM J.矩阵分析。申请。,28(2006),第907–926页·Zbl 1129.65027号
[120] B.B.Zhou和R.P.Brent,高效单边Jacobi SVD计算的并行环排序算法,J.平行分布计算。,42(1997),第1-10页·Zbl 0880.68055号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。