×

缓存遗忘高斯消除范式:理论框架、并行化和实验评估。 (英文) Zbl 1213.68070号

总结:我们考虑标准高斯消除算法中出现的三嵌套循环,我们用GEP表示。我们提出了两种相关的缓存可发布方法——I-GEP和C-GEP,这两种方法都将标准GEP执行的计算所引起的缓存未命中数(或执行的I/O数)减少了一个因子\(\sqrt{M}\),其中\(M\)是缓存的大小。Cache-obliovious I-GEP就地计算并求解GEP的大多数已知应用,包括高斯消去和无枢轴LU-分解以及Floyd-Warshall全对最短路径。Cache-oblievious C-GEP使用了少量的额外空间,但它是完全通用的,适用于GEP形式的任何代码。I-GEP和C-GEP都生成系统相关的高效缓存代码,并可能适用于优化编译器以进行循环转换。
我们提出了并行的I-GEP和C-GEP,它们可以实现良好的加速,并且对于足够大的输入,共享缓存和分布式缓存的顺序缓存性能都可以缓存。
我们给出了算法的内核内和内核外性能的大量实验结果。我们考虑了顺序和并行实现,并将它们与微调的缓存软件BLAS代码进行比较,以实现矩阵乘法和高斯消去,而不需要旋转。我们的结果表明,基于缓存的GEP在效率和可移植性之间提供了一个有吸引力的权衡。

MSC公司:

2007年7月68日 计算机体系结构的数学问题
第65页 线性系统和矩阵反演的直接数值方法
65日元10 特定类别建筑的数值算法
68瓦40 算法分析
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] 阿卡尔,阿联酋,布莱洛赫,G.E.,布鲁莫夫,R.D.:窃取工作的数据位置。摘自:第12届ACM并行算法和架构研讨会论文集,第1-12页。ACM,纽约(2000年)·Zbl 1017.68010号
[2] Aggarwal,A.,Vitter,J.:排序的输入/输出复杂性和相关问题。Commun公司。ACM 31(9),1116–1127(1988)·doi:10.1145/48529.48535
[3] Aho,A.,Hopcroft,J.,Ullman,J.:计算机算法的设计与分析。Addison-Wesley,雷丁(1974)·Zbl 0326.68005号
[4] Blelloch,G.,Chowdhury,R.,Gibbons,P.,Ramachandran,V.,Chen,S.,Kozuch,M.:对于分治算法来说,多核缓存性能非常好。摘自:第19届ACM-SIAM离散算法年度研讨会论文集,加利福尼亚州旧金山,第501-510页(2008)·Zbl 1192.68026号
[5] Blelloch,G.,Gibbons,P.:在线程之间有效地共享缓存。摘自:第16届ACM算法和架构并行性研讨会论文集,西班牙巴塞罗那,第235-244页(2004)
[6] Blumofe,R.,Frigo,M.,Joerg,C.,Leiserson,C.,Randall,K.:DAG-一致性分布式共享内存算法分析。摘自:第八届ACM并行算法和体系结构研讨会论文集,第297-308页(1996)
[7] Chatterjee,S.、Lebeck,A.、Patnala,P.、Thotethodi,M.:递归数组布局和快速并行矩阵乘法。摘自:第11届ACM并行算法和架构研讨会论文集,第222-231页(1999)
[8] Chowdhury,R.,Ramachandran,V.:Cache-oblievious动态编程。摘自:第17届ACM-SIAM离散算法研讨会论文集,佛罗里达州迈阿密,第591-600页(2006)·Zbl 1192.90241号
[9] Chowdhury,R.,Ramachandran,V.:基于缓存的高斯消除范式:理论框架、并行化和实验评估。在:第19届ACM算法和体系结构并行性研讨会论文集,加利福尼亚州圣地亚哥,第71–80页(2007)
[10] Chowdhury,R.,Ramachandran,V.:多核的高效缓存动态编程算法。摘自:第20届ACM算法与架构并行性研讨会论文集,德国慕尼黑,第207-216页(2008)
[11] Chowdhury,R.,Silvestri,F.,Blakeley,B.,Ramachandran,V.:多核和处理器网络的不经意算法。摘自:2010年4月于佐治亚州亚特兰大举行的第24届IEEE国际并行和分布式处理研讨会会议记录·Zbl 1327.68327号
[12] Cormen,T.,Leiserson,C.,Rivest,R.,Stein,C.:算法导论,第二版。麻省理工学院出版社,剑桥(2001)·Zbl 1047.68161号
[13] D’Alberto,P.,Nicolau,A.:R-Kleene:一种用于密集连接网络的全对最短路径的高性能分治算法。《算法》47(2),203-213(2007)·Zbl 1108.68124号 ·doi:10.1007/s00453-006-1224-z
[14] Dementiev,R.,Kettner,L.,Sanders,P.:STXXL:XXL数据集的标准模板库。收录于:第13届欧洲算法年会论文集。LNCS,第1004卷,第640-651页。施普林格,柏林(2005)
[15] Floyd,R.:算法97(最短路径)。Commun公司。ACM 5(6),345(1962)·doi:10.1145/367766.368168
[16] Frigo,M.,Leiserson,C.,Prokop,H.,Ramachandran,S.:Cache-obliovious算法。载:《第40届计算机科学基础年度研讨会论文集》,第285–297页(1999年)·Zbl 1295.68236号
[17] Frigo,M.,Leiserson,C.,Randall,K.:Cilk-5多线程语言的实现。摘自:《ACM SIGPLAN编程语言设计与实现会议记录》,加拿大蒙特利尔,第212-223页(1998年)
[18] Frigo,M.,Strumpen,V.:多线程缓存遗忘算法的缓存复杂性。摘自:第18届ACM算法和架构并行性研讨会论文集,马萨诸塞州剑桥,第271-280页(2006)·Zbl 1183.68721号
[19] 富士通MAP3147NC/NP MAP3735NC/NP MAP3367NC/NP磁盘驱动器产品/维护手册
[20] Goto,K.:GotoBLAS(2005)。http://www.tacc.utexas.edu/resources/software
[21] Gunnels,J.,Gustavson,F.,Henry,G.,van de Geijn,R.:FLAME:形式线性代数方法环境。ACM事务处理。数学。柔和。27(4), 422–455 (2001) ·Zbl 1070.65522号 ·数字对象标识代码:10.1145/504210.504213
[22] Hong,J.,Kung,H.:I/O复杂性:红蓝卵石游戏。摘自:第13届ACM计算机理论研讨会论文集,第326–333页(1981)
[23] Iversion,K.:一种编程语言。威利,纽约(1962)
[24] Knuth,D.:关于符号的两个注释。美国数学。周一。99, 403–422 (1992) ·Zbl 0785.05014号 ·doi:10.2307/2325085
[25] Muchnick,S.:高级编译器设计与实现。Morgan Kaufmann,圣马特奥(1997)
[26] Pan,S.,Cherng,C.,Dick,K.,Ladner,R.:利用硬件预取的算法。摘自:第九届算法工程与实验研讨会论文集,第91–98页(2007年)
[27] Park,J.、Penner,M.、Prasanna,V.:优化图形算法以提高缓存性能。IEEE传输。平行配送系统。15(9), 769–782 (2004) ·doi:10.1109/TPDS.2004.44
[28] Powell,D.,Allison,L.,Dix,T.:软件和ATLAS项目的自动经验优化。并行计算。27(1–2), 3–35 (2001). http://math-atlas.sourceforge.net ·Zbl 0971.68033号 ·doi:10.1016/S0167-8191(00)00087-9
[29] Seward,J.,Nethercote,N.:Valgrind(用于x86-Linux程序的调试和分析工具)。http://valgrind.kde.org/index.html
[30] Toledo,S.:部分旋转LU分解中的参考位置。SIAM J.矩阵分析。申请。18(4), 1065–1081 (1997) ·Zbl 0890.65025号 ·doi:10.1137/S0895479896297744
[31] Warshall,S.:关于布尔矩阵的一个定理。J.ACM 9(1),11-12(1962)·Zbl 0118.33104号 ·数字对象标识代码:10.1145/32105.321107
[32] Wolf,M.,Lam,M.:数据局部性优化算法。摘自:ACM SIGPLAN 1991年编程语言设计与实现会议记录,第30–44页(1991)
[33] Womble,D.,Greenberg,D.,Wheat,S.,Riesen,R.:超越核心:使并行计算机I/O实用化。摘自:1993年DAGS/PC研讨会论文集,第56–63页(1993)
[34] Yotov,K.、Roeder,T.、Pingali,K.,Gunnels,J.、Gustavson,F.:缓存和缓存软件程序的实验比较。摘自:第19届ACM算法与架构并行研讨会论文集,加利福尼亚州圣地亚哥,第93-104页(2007)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。