基于频繁模式挖掘的 GCC 编译时能耗演化优化算法

本文介绍了一种新算法MA-FP,它通过频繁模式挖掘优化GCC编译选项以降低嵌入式软件能耗。MA-FP通过考虑编译选项间的相互影响,提高了解质量和收敛速度,相较于Tree-EDA,平均能耗降低2.5%,收敛速度加快34.5%。

基于频繁模式挖掘的 GCC 编译时能耗演化优化算法

1.摘要

18年发在软件学报上的一篇论文。演化算法通过搜寻 GCC 编译器最优编译选项集对可执行代码的能耗进行改进,以达到编译时优化嵌入式软件能耗的目的.但这类算法未考虑多个编译选项之间可能存在相互影响,导致了其解质量不高且收敛速度慢的问题.针对这一不足,本文设计了一种基于频繁模式挖掘的文化基因算法 MA-FP,在演化过程中利用频繁模式挖掘得到出现频度高且对能耗有显著改进效果的一组编译选项,并以此作为启发式信息设计了“增添”和“删减”两种变异算子来提高解质量并加快 MA-FP 算法的收敛速度.通过与 Tree-EDA 算法在 5 个不同领域的 8 个典型案例下进行对比实验,结果表明:本文的 MA-FP 算法不仅能更有效降低软件能耗(平均降低 2.5%,最高降低 21.1%),而且还能在获得不劣于 Tree-EDA 能耗优化效果的前提下更快地收敛(平均加快 34.5%,最高加快 83.3%).

2.相关介绍和背景

能耗是嵌入式软件的关键质量属性. 特别是在电量受限的执行环境中,降低嵌入式软件的能耗具有更为重要的价值和意义.与嵌入式软件源代码级的能耗优化相比,编译时能耗优化无需改动源代码,同时可保证功能语义一致性. 作为一款开源编译器,GCC已广泛应用于嵌入式软件源代码的编译. GCC 提供常用的几种优化等级,利用每种优化等级所预设的一组编译选项对软件源代码进行编译,可实现可执行代码的优化.然 而 GCC 的优化等级对于特定的软件源代码、执行平台和特定优化目标,往往难以获得最佳的优化效果.此 外,GCC 编译选项数目众多,选择空间十分庞大.例如:GCC4.9.2 提供了 188 个编译选项,其选择空间高达 2 188 2^{188}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小怪兽会微笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值