×

一种通过利用软件信息和内存结构来加速循环内核的方法。 (英语) Zbl 1387.68065号

摘要:众所周知,当今的编译器和最先进的库有三大缺点。首先,分别优化编译器子问题;这是无效的,因为单独的子问题优化为每个子问题提供了不同的时间表,并且这些时间表不能共存,因为细化一个子问题会导致另一个子问题的降级。其次,它们只考虑了特定算法的一部分信息。第三,它们只考虑了几个硬件架构参数。这些方法无法提供最佳解决方案。本文介绍了一种新的方法学/预编译器,它通过克服上述问题来加速循环内核。该方法解决了四个主要的调度子问题,作为一个问题而不是单独解决;这些是查找具有以下最少次数的调度的子问题:(i)一级数据缓存访问,(ii)二级数据缓存存取,(iii)主内存数据访问,(iv)寻址指令。首先,根据算法信息(例如数组下标)找到探索空间(可能的解决方案)。然后,通过对软件和硬件参数应用约束传播,探索空间减少了几个数量级。我们以C代码和内存结构参数为输入,自动生成一个新的更快的C代码;无法通过将现有编译器转换应用于原始代码来获得此代码。该方法已经在通用和嵌入式处理器中的五种著名算法中进行了评估;它与gcc和clang编译器以及迭代编译进行了比较。

MSC公司:

第68页第20页 编译与解释理论
PDF格式BibTeX公司 XML格式引用
全文: 内政部 链接

参考文献:

[1] 奥斯汀,T。;Larson,E。;Ernst,D.,Simplescalaran infrastructure for computer system modeling,computer,35,59-67(2002),URL:〈http://dl.acm.org/citation.cfm?id=619072.621910
[2] Pinter,S.S.,带指令调度的寄存器分配新方法,J Prog Lang,4,1,21-38(1996)
[3] Shobaki,G。;沙瓦布基,M。;Rmaileh,N.E.A.,使用组合优化方法最小化寄存器压力的预分配指令调度,ACM Trans Archit Code Optim,10,3,14:1-14:31(2008),URL:〈http://doi.acm.org/10.1145/2512432
[4] 培根,D.F。;Graham,S.L。;Sharp,Oliver J.,《高性能计算的编译器转换》,ACM Compute Surv,26,345-420(1994)
[7] 库珀,K.D。;Subramanian,D。;Torczon,L.,《面向21世纪的自适应优化编译器》,《超级计算机杂志》,2002年第23期(2001年)·Zbl 0994.68537号
[10] 库尔卡尼,P。;海因斯,S。;Hiser,J。;惠利博士。;戴维森,J。;Jones,D.,《快速搜索有效优化相位序列》,SIGPLAN Not,39,6,171-182(2004),URL:〈http://dl.acm.org/citation.cfm?doid=996893.996863
[13] 斯蒂芬森,M。;Amarasinghe,S。;马丁,M。;O.Reilly,U.-M.,《元优化用机器学习改进编译器启发法》,SIGPLAN Not,38,5,77-90(2003),URL:〈http://doi.acm.org/10.1145/778822.781141
[14] Tartara,M。;Crespi Reghizzi,S.,编译器启发式的持续学习,ACM Trans Archit Code Optim,9,4,46:1-46:25(2013),URL:〈http://doi.acm.org/10.1145/2400682.2400705
[17] 普切特,L.-N。;巴斯图尔,C。;科恩,A。;Cavazos,J.,多面体模型中的迭代优化第二部分,多维时间,SIGPLAN Not,43,6,90-100(2008),URL:〈http://doi.acm.org/10.1145/1379022.1375594
[31] 凯莱福拉斯,V.I。;Athanasiou,G。;阿拉奇奥提斯(Alachiotis,N.)。;Michail,H.E。;Kritikakou,A。;Goutis,C.E.,《加速快速傅里叶变换的方法论,聚焦于内存架构利用率》,IEEE Trans Signal Process,59,12,6217-6226(2011)·Zbl 1396.65174号
[33] 伍塔克,S。;Diguet,J.-P。;Catthoor,F.V.M。;De Man,H.J.,低功耗分层内存映射数据重用探索的形式化方法,IEEE超大规模集成系统,6529-537(1998),URL:〈http://dl.acm.org/citation.cfm?id=297294.297307
[34] Kjeldsberg,P.G。;Catthoor,F。;Aas,E.J.,用于内存优化的数据相关性大小估计,IEEE Trans Compute-Aided Des Integr Circuits Syst,22908-921(2003)
[36] Jang,B。;沙阿,D。;Mistry,P。;Kaeli,D.,《利用内存访问模式提高数据并行体系结构中的内存性能》,IEEE Trans parallel Distrib Syst,22,105-118(2011)
[38] 赵(Q.Zhao)。;拉巴,R。;Wong,W.-F.,使用池分配和预取进行动态内存优化,SIGARCH Compute Archit News,33,27-32(2005)
[47] 鲁宾,S。;博迪克,R。;Chilimbi,T.,《数据布局优化的高效剖面分析框架》,SIGPLAN Not,37,140-153(2002)
[48] 荣,H。;Douillet,A。;Gao,G.R.,软件管道多维循环的寄存器分配,SIGPLAN Not,40,6,154-167(2005),URL:〈http://doi.acm.org/10.1145/1064978.1065030
[49] 哈克,S。;Goos,G.,多项式时间内ssa-form程序的最佳寄存器分配,Inf Process Lett,98,4,150-155(2006),URL:〈http://dx.doi.org/10.1016/j.ipl.20006.01.008〉 ·Zbl 1187.68336号
[52] 医学博士史密斯。;Ramsey,N。;Holloway,G.,《图形-颜色寄存器分配的通用算法》,SIGPLAN Not,39,6,277-288(2004),URL:〈http://doi.acm.org/10.1145/9996893.996875
[53] Wang,L。;杨,X。;薛,J。;邓,Y。;严,X。;Tang,T.,优化流处理器上的科学应用循环,SIGPLAN Not,43,7,161-170(2008),URL:〈http://doi.acm.org/10.1145/1379023.1375679
[55] Chang,S.-K.,《数据结构和算法》。软件工程和知识工程系列,第13卷(2003年),《世界科学》·Zbl 1054.68036号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。