摘要
为提高编译器循环展开因子计算的准确性,提出一种基于改进的随机森林模型预测循环展开因子的方法。对传统随机森林模型进行加权的改进,为解决非平衡数据集问题提出基于SMOTE算法的BSC算法。从SPEC2006等测试集中提取近1000个循环并提取特征构成训练集,训练循环展开因子预测模型。生成的模型对于展开因子的预测准确度达81%,与编译器默认的循环展开方法相比,利用预测模型对选定的测试程序循环展开后性能平均提升12%。
To improve the accuracy of the loop unrolling factor calculation in compilers,a loop unrolling method based on improved random decision forest was proposed.The traditional random decision forest was improved by adding a weight value.BSC algorithm based on SMOTE algorithm was proposed to solve the problem of unbalanced data sets.Nearly 1000 loops were selected from several benchmarks including SPEC2006,and features were extracted from these loops constituting the training set to train the loop unrolling factor prediction model.The model has a prediction accuracy of 81% for the unrolling factor,and an average of 12% improvement in the performance of the selected programs compared to the compiler's default loop unrolling method.
出处
《计算机工程与设计》
北大核心
2018年第1期199-204,共6页
Computer Engineering and Design
基金
国家863高技术研究发展计划基金项目(2014AA01A300)
国家"核高基"重大专项基金项目(2013ZX0102-8001-001-001)
关键词
循环展开
编译优化
机器学习
随机决策森林
加权投票
非平衡数据集
loop unrolling
com pilation optim ization
m achine learning
random decision forests
weighted voting
unbalance data