×

生成并行无同步平铺代码。 (英语) Zbl 06888102号

摘要:提出了一种生成循环嵌套的并行无同步平铺代码的新方法。它是通过多面体和迭代空间切片框架的组合导出的。它使用循环嵌套依赖图的传递闭包对原始矩形图块进行校正,使原始循环嵌套的所有依赖关系都保持在目标(校正)图块的字典顺序下。然后,在应用依赖图的传递闭包的有效(校正)瓦片的基础上生成无并行同步的瓦片代码。本文的主要贡献是证明了所提出的技术能够生成并行的无同步平铺代码,前提是可以计算依赖图的精确传递闭包,并且在循环嵌套中的语句实例级别上存在无同步切片。我们表明,当众所周知的技术无法做到提取它。通过应用提取切片和生成的有效分片的交集,可以扩大循环嵌套的范围,从而生成无同步分片代码,与之前发布的基于依赖图传递闭包的技术中建议的有效分片形成对比。该方法是在公开的TC优化编译器中实现的。实验结果证明了该方法的有效性以及由此生成的并行程序的效率。

MSC公司:

2005年5月 并行数值计算
68平方米 计算机系统环境下的性能评估、排队和调度
68N20型 编译与解释理论
05B45号 镶嵌和平铺问题的组合方面
05-04 与组合学有关的问题的软件、源代码等
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Bastoul C(2004)多面体模型中的代码生成比您想象的要容易。摘自:PACT’13 IEEE并行体系结构和编译技术国际会议,Juan-les-Pins,第7-16页
[2] Bandishti V,Pananilath I,Bondhugula U(2012),平铺模板计算以最大化并行性。摘自:SC'12:高性能计算、网络、存储和分析国际会议论文集,IEEE,犹他州盐湖城,第1-11页·Zbl 1355.68044号
[3] Beletska,A;比莱基,W;科恩,A;Palkowski,M;Siedlecki,K,粗粒度循环并行化:迭代空间切片与仿射变换,并行计算,37,479-497,(2011)·doi:10.1016/j.parco.2010.12.005
[4] 比莱基,W;等。,利用基依赖距离向量通过floyd-warshall算法计算依赖关系的传递闭包,J Comb Optim,(2014)·Zbl 1406.68017号 ·doi:10.1007/s10878-014-9740-2
[5] 比莱基,W;Palkowski,M;Wilinski,A(编辑);Fray,IE(编辑);Pejas,J(ed.),基于程序依赖图传递闭包的完美嵌套循环平铺变换,309-320,(2015),柏林
[6] 比莱基,W;Palkowski,M,通过依赖图的传递闭包对任意嵌套循环进行分块,Appl Math Comput Sci,26919-939,(2016)·Zbl 1355.68044号
[7] 比莱基,W;Palkowski,M;Klimek,T,参数化任意嵌套仿射循环语句实例的自由调度,并行计算,38,518-532,(2012)·doi:10.1016/j.parco.2012.06.001
[8] Bielecki W,Palkowski M,Klimek T(2015)基于依赖图传递闭包的图块自由调度。在:Wyrzykowski R(ed)第11届并行处理和应用数学国际会议,第二部分,计算机科学讲义,第9574卷。施普林格,柏林,海德堡,第133-142页
[9] Bondhugula U、Baskaran M、Krishnamoorthy S、Ramanujam J、Rountev A、Sadayappan P(2008)多面体模型中通信最小化并行化和局部优化的自动转换。In:编译器结构。计算机科学课堂讲稿。施普林格,第132-146页
[10] 邦杜古拉,U;哈托诺,A;Ramanujam,J;Sadayappan,P,一个实用的自动多面体并行器和局部优化器,SIGPLAN Not,43,101-113,(2008)·doi:10.145/1379022.1375595
[11] Feautrier,P,仿射调度问题的一些有效解:I.一维时间,国际J并行程序,21313-348,(1992)·Zbl 0783.90050号 ·doi:10.1007/BF01407835
[12] Feautrier,P,仿射调度问题的一些有效解决方案:II。多维时间,国际J并行程序,21389-420,(1992)·Zbl 0808.90081 ·doi:10.1007/BF01379404
[13] Griebl M(2004)分布式内存体系结构循环程序的自动并行化。帕绍大学,习惯化论文
[14] Grosser,T;Verdoolaege,S;Cohen,A,多面体ast generation is more than scanning polyhedra,ACM Trans Program Lang Syst,37,12:1-12:50,(2015)·数字对象标识代码:10.1145/2743016
[15] Grosser,T;Verdoolaege,S;科恩,A;Sadayappan,P,《钻石瓷砖和六角形瓷砖之间的关系》,《平行程序快报》,24,1441002,(2014)·Zbl 1327.65289号 ·doi:10.1142/S0129626414410023
[16] Hartono A、Baskaran MM、Bastoul C、Cohen A、Krishnamoorthy S、Norris B、Ramanujam J、Sadayappan P(2009)《不完全嵌套回路的参数多层平铺》。摘自:第23届超级计算国际会议记录,ICS'09。ACM,美国纽约州纽约市,第147-157页。数字对象标识代码:10.1145/1542275.1542301
[17] Irigoin F,Triolet R(1988)超级节点划分。摘自:88年POPL第15届ACM SIGPLAN-SIGACT编程语言原理研讨会论文集。美国纽约州纽约市ACM,第319-329页
[18] 凯利,W;普格,W;罗塞尔,E;Shpeisman,T,无限图的传递闭包及其应用,国际J并行程序,24579-598,(1996)·doi:10.1007/BF03356760
[19] Kim D,Rajopadhye S(2009)《高效平铺环路生成:D平铺》。参加:并行计算语言和编译器国际研讨会。施普林格,第293-307页
[20] Krishnamoorthy S、Baskaran MM、Bondhugula U、Ramanujam J、Rountev A、Sadayappan P(2007)《模板计算的有效自动并行化》。包含:PLDI,第235-244页
[21] Lim A,Cheong GI,Lam MS(1999)最大化并行性和最小化通信的仿射分区算法。在:第13届ACM SIGARCH超级计算国际会议论文集。ACM出版社,第228-237页
[22] Lim AW,Lam MS(1994),通过仿射变换实现无通信并行。第24届ACM编程语言原理研讨会。施普林格,pp 92-106
[23] NAS基准套件。网址:http://www.nas.nasa.gov (2015)
[24] OpenMP Architecture Review Board(2012)OpenMP应用程序接口版本4.0
[25] Palkowski M,Klimek T,Bielecki W(2015)Traco:用于数值应用的自动循环嵌套并行器。2015年计算机科学和信息系统联合会议(FedCSIS)。IEEE,第681-686页
[26] Pouchet LN(2015)多面体基准套件/c4.1,http://web.cse.ohio-state.edu/pouchet/软件/polybench
[27] Pugh W,Rosser E(1997)迭代空间切片及其在通信优化中的应用。摘自:超级计算国际会议,第221-228页
[28] Pugh W,Rosser E(1999)局部性迭代空间切片。收录于:LCPC,计算机科学讲稿,第1863卷。斯普林格,第164-184页·Zbl 1327.65289号
[29] Ramanujam,J;Sadayappan,P,多计算机多维迭代空间的平铺,并行分布计算杂志,16,108-120,(1992)·doi:10.1016/0743-7315(92)90027-K
[30] Verdoolaege S(2010)ISL:多面体模型的整数集库。收录于:数学软件-ICMS 2010,计算机科学课堂讲稿。第6327卷。柏林施普林格,第299-302页·Zbl 1294.68166号
[31] Verdoolaege S(2011)《计算仿射计算器和应用》。年:首届多面体编译技术国际研讨会(IMPACT’11),法国Charmonix
[32] Verdoolaege S(2016)普雷斯伯格公式和多面体编译,v0.02。Polly Labs和KU Leuven
[33] Verdoolaege S,Cohen A,Beletska A(2011)仿射整数元组关系的传递闭包及其过度逼近。摘自:第18届国际静态分析会议记录,SAS’11。施普林格,第216-232页·Zbl 0808.90081
[34] Verdoolaege S,Grosser T(2012)多面体提取工具。摘自:第二届多面体编译技术国际研讨会论文集。法国巴黎
[35] Wolf ME,Lam MS(1991)一种数据局部优化算法。摘自:ACM SIGPLAN 1991年编程语言设计与实现会议记录,第30-44页·Zbl 0783.90050号
[36] 薛J(2000)《并行循环平铺》。诺维尔Kluwer学术出版社·Zbl 0964.68025号 ·doi:10.1007/978-1-4615-4337-4
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。