计算机工程与科学
計算機工程與科學
계산궤공정여과학
COMPUTER ENGINEERING & SCIENCE
2009年
z1期
206-209
,共4页
程序变换%迭代编译%遗传算法
程序變換%迭代編譯%遺傳算法
정서변환%질대편역%유전산법
program transformation%iterative compilation%genetic algorithms
高性能计算应用程序获得的持续性能与机器峰值性能的差距日益扩大,很大程度上制约着高性能计算的发展.程序变换通过对程序进行适应机器体系结构特征的优化变换,提高程序实际执行性能,是解决该问题的有效途径之一.很多高级程序变换均具有数值参数,为了获得最优性能,需要仔细选择参数的值.传统的编译器使用简单的模型选择这些参数,难以适应日趋复杂的硬件平台和应用程序.迭代编译通过生成不同的程序版本并在实际硬件评估上运行程序,来评估关键优化参数的值并决定能够产生最优性能的值,显著优于静态方法,但巨大的优化开销限制了其应用范围.本文针对矩阵相乘程序提出一种结合性能模型和迭代编译的优化方法,利用基于对机器体系结构和程序的经验知识构造性能模型约束优化空间,并使用遗传算法加速在优化空间中寻找优秀解的过程.实验结果表明,该方法可以较低的开销获得更优的性能优化效果.
高性能計算應用程序穫得的持續性能與機器峰值性能的差距日益擴大,很大程度上製約著高性能計算的髮展.程序變換通過對程序進行適應機器體繫結構特徵的優化變換,提高程序實際執行性能,是解決該問題的有效途徑之一.很多高級程序變換均具有數值參數,為瞭穫得最優性能,需要仔細選擇參數的值.傳統的編譯器使用簡單的模型選擇這些參數,難以適應日趨複雜的硬件平檯和應用程序.迭代編譯通過生成不同的程序版本併在實際硬件評估上運行程序,來評估關鍵優化參數的值併決定能夠產生最優性能的值,顯著優于靜態方法,但巨大的優化開銷限製瞭其應用範圍.本文針對矩陣相乘程序提齣一種結閤性能模型和迭代編譯的優化方法,利用基于對機器體繫結構和程序的經驗知識構造性能模型約束優化空間,併使用遺傳算法加速在優化空間中尋找優秀解的過程.實驗結果錶明,該方法可以較低的開銷穫得更優的性能優化效果.
고성능계산응용정서획득적지속성능여궤기봉치성능적차거일익확대,흔대정도상제약착고성능계산적발전.정서변환통과대정서진행괄응궤기체계결구특정적우화변환,제고정서실제집행성능,시해결해문제적유효도경지일.흔다고급정서변환균구유수치삼수,위료획득최우성능,수요자세선택삼수적치.전통적편역기사용간단적모형선택저사삼수,난이괄응일추복잡적경건평태화응용정서.질대편역통과생성불동적정서판본병재실제경건평고상운행정서,래평고관건우화삼수적치병결정능구산생최우성능적치,현저우우정태방법,단거대적우화개소한제료기응용범위.본문침대구진상승정서제출일충결합성능모형화질대편역적우화방법,이용기우대궤기체계결구화정서적경험지식구조성능모형약속우화공간,병사용유전산법가속재우화공간중심조우수해적과정.실험결과표명,해방법가이교저적개소획득경우적성능우화효과.
The performance gap for high performance applications has been widening over time. High level program transformations are critical to improve the applications' performance, many of which concern the determination of optimal values for transformation parameters. Traditional compilers select these parameters based on static analytical models. However, complex computer architectures and code behaviors greatly limit the strength of optimizing compilers. Iterative compilation approach determines these parameter values by executing the program with different parameter values and selects the one with the shortest runtime, outperforming static approaches significantly. But it's quite time consuming because of the huge optimization space. Aiming at matrix multiplication program, this paper presents a combinative method to solve this problem by investigating a constraint model on optimization parameters to limit the optimization space, and then applying genetic algorithms to search the optimal parameters. Experimental results indicate our approach can produce parameter values with better performance and lower cost.