×

学习基本块指令调度的启发式。 (英语) Zbl 1173.90409号

摘要:指令调度是提高编译器生成的目标代码性能的重要步骤。指令调度中出现的一个基本问题是为基本块找到一个最小长度调度——一个具有单一入口点和单一出口点的直线代码序列——受优先级、延迟和资源限制。准确地解决问题是众所周知的困难,大多数编译器使用贪婪列表调度算法和启发式算法。启发式通常是手工制作的,这可能是一个耗时的过程。相反,我们提出了一项利用机器学习技术自动学习好的启发式的研究。在我们的研究中,最近提出的最优基本块调度器被用于生成机器学习训练数据。然后使用决策树学习算法从训练数据中导出一个简单的启发式算法。在SPEC 2000基准测试中,将自动构建的决策树启发式算法与流行的关键路径启发式算法进行了比较。在这个基准套件上,与关键路径启发式算法相比,决策树启发式算法将未优化调度的基本块的数量减少了55%,并从优化的最坏情况因素方面提供了改进的性能保证。

MSC公司:

90B35型 运筹学中的确定性调度理论
90 C59 数学规划中的近似方法和启发式

软件:

4.5条
PDF格式BibTeX公司 XML格式引用
全文: DOI程序

参考文献:

[1] Blainey,R.J.:TOBEY编译器中的指令调度。IBM J.Res.Dev.38(5),577–593(1994)·数字对象标识代码:10.1147/rd.385.0577
[2] Cooper,K.D.,Torczon,L.:设计编译器。Morgan Kaufmann,圣马特奥(2004)·Zbl 1058.68036号
[3] Dorndorf,U.:带时间窗口的项目调度。Physica-Verlag,海德堡(2002)·Zbl 1058.90027号
[4] Govindarajan,R.:指令调度。摘自:Srikant,Y.N.,Shankar,P.(编辑)《编译器设计手册》,第631-687页。CRC出版社,博卡拉顿(2003)
[5] Guyon,I.,Elisseeff,A.:变量和特征选择简介。J.马赫。学习。1157–1182号决议(2003年)·Zbl 1102.68556号 ·doi:10.1162/153244303322753616
[6] Hennessy,J.,Patterson,D.:《计算机体系结构:定量方法》,第3版。Morgan Kaufmann,圣马特奥(2003)·Zbl 0752.68014号
[7] Hoxey,S.、Karim,F.、Hay,B.、Warren,H.:PowerPC编译器编写指南。沃特曼协会(1996)
[8] Lee,C.,Potkonjak,M.,Manginoe-Smith,W.:MediaBench:多媒体和通信的评估和综合工具。摘自:第30届IEEE/ACM国际微架构研讨会论文集(Micro-30),第330-335页。北卡罗来纳州三角研究公园(1997)
[9] Li,X.,Olafsson,S.:使用数据挖掘发现调度规则。J.Sched。8, 515–527 (2005) ·兹比尔1123.90031 ·doi:10.1007/s10951-005-4781-0
[10] Malik,A.M.、McInnes,J.、van Beek,P.:使用约束编程的多问题处理器的最佳基本块指令调度。技术报告CS-2005-19,滑铁卢大学计算机科学学院(2005)
[11] McGovern,A.、Moss,J.E.B.、Barto,A.G.:使用强化学习和展开构建基本块指令调度程序。机器。学习。49(2/3), 141–160 (2002) ·Zbl 1014.68030号 ·doi:10.1023/A:1017976211990
[12] Moss,J.E.B.,Utgoff,P.E.,Cavazos,J.,Precup,D.,Stefanovic,D.,Brodley,C.,Scheef,D.:学习安排直线代码。摘自:《第十届神经信息处理系统进展会议论文集》,第929-935页。科罗拉多州丹佛市(1997)
[13] Muchnick,S.:高级编译器设计与实现。Morgan Kaufmann,圣马特奥(1997)
[14] Neumann,K.、Schwindt,C.、Zimmermann,J.:《时间窗口和稀缺资源的项目调度》,第2版。柏林施普林格出版社(2003)·Zbl 1059.90001号
[15] Pindo,M.:《调度:理论、算法和系统》。普伦蒂斯·霍尔,纽约(1995年)·兹比尔1145.90393
[16] Quinlan,J.R.:C4.5:机器学习程序。Morgan Kaufmann,San Mateo(1993年)。C4.5软件位于:http://www.cse.unsw.edu.au/昆兰牌手表/
[17] Shieh,J.-J.,Papachristou,C.:关于流水线计算机指令流的重新排序。SIGMICRO新闻。20(3), 199–206 (1989) ·数字对象标识代码:10.1145/75395.75419
[18] Shobaki,G.,Wilken,K.:使用枚举的最优超块调度。摘自:第37届IEEE/ACM国际微体系结构研讨会论文集(Micro-37),第283-293页。俄勒冈州波特兰市(2004年)
[19] Smotherman,M.,Krishnamurthy,S.,Aravind,P.S.,Hunnicutt,D.:指令调度的高效DAG构造和启发式计算。摘自:第24届IEEE/ACM国际微体系结构研讨会论文集(Micro-24),第93-102页。新墨西哥州阿尔伯克基(1991)
[20] Tiemann,M.D.:GNU指令调度器(1989)
[21] van Beek,P.,Wilken,K.:具有任意延迟的单问题处理器的快速优化指令调度。摘自:《第七届约束编程原理与实践国际会议论文集》,第625-639页。帕福斯,塞浦路斯(2001年)·Zbl 1067.68525号
[22] Warren,H.S.Jr.:IBM RISC System/6000处理器的指令调度。IBM J.Res.Dev.34(1),85–92(1990)·doi:10.147/rd.341.0085
[23] Witten,I.H.,Frank,E.:数据挖掘。Morgan Kaufmann,圣马特奥(2000)·Zbl 1076.68555号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。