Page 211 - 《软件学报》2026年第6期
P. 211
2530 软件学报 2026 年第 37 卷第 6 期
应用或架构时, 模型泛化能力不足的问题尤为突出. 此外, 现有的搜索策略虽然能够在一定程度上平衡探索与利
用, 但在面对高度动态且不确定的编译调优任务时, 仍然容易陷入局部最优或收敛速度缓慢的问题.
2 SWTuner 编译调优框架的设计与实现
为了应对上述挑战, 本文基于 OpenTuner 设计并实现了编译调优框架 SWTuner, 旨在结合分布式优化策略和
先进的机器学习技术克服现有方法的局限性. SWTuner 的基本结构如图 1 所示, 主要包括 AUC-Bandit 分布式元
搜索模块、机器学习模型指导的性能预测模块以及基于 SHAP (Shapley additive explanations) 的选项分析及筛选
模块这 3 个核心模块.
② 机器学习模型指导的性能预测模块 ① AUC-Bandit 分布式元搜索模块
… … 随机单纯
贪婪变异 差分进化 …
训练/验证 预测样本 搜索技术 搜索技术 形法搜索
技术
样本集合 集合
随机森林 随机采样 元搜索策略选择
样
本
… 生
成
并行作业管理系统
平均结果
结果 …
预测 … 数据库 并行
实际 目标码 编译
执行 结果 预测结果 实际执行 系统
筛选 集合
模型提取 选项更新
③ 基于 SHAP 的选项分析及筛选模块
… …
随机 树结构 Shapley 值 重要选项集合 …
验证样本集合 采样 模型 计算模块
SHAP … 选项集合 O′
解释器 Shapley 交互
… 随机森林模型 值计算模块 相关选项集合
图 1 SWTuner 编译调优框架组成结构框图
AUC-Bandit 分布式元搜索模块作为 SWTuner 框架的核心, 以曲线下面积 (area under the curve, AUC) 作为评
价指标, 动态地为多种启发式搜索技术分配信用. 在并行作业管理系统的统一管理和调度下, 编译系统根据给定的
搜索样本集合对目标程序进行本地编译和链接, 生成一系列可执行文件, 并且在超级计算机系统上并行执行. 计算
节点收集到的性能数据被存储至结果数据库, 以实现不同搜索技术之间的信息交互, 从而帮助提升元搜索策略的
整体优化效果.
机器学习模型指导的性能预测模块致力于构建一个通过编译选项组合预测程序性能的模型. 为实现此目标,
该模块从结果数据库中提取训练和验证样本集合, 并采用随机森林模型作为基础机器学习模型. 模型训练完成后,
可以对新的样本进行预测, 从而缩短选项搜索过程中的编译及运行开销并降低能耗. 同时, 为避免由于预测误差导
致错过最优解, 该模块通过执行阈值对性能预测结果进行筛选, 并且对具有优化潜力的选项组合进行实际执行
验证.
基于 SHAP 的选项分析及筛选模块专注于评估各个编译选项的重要程度及其相关性. 该模块从结果数据库中
抽取样本集合, 并基于已训练完成的随机森林模型构建一个针对树结构模型的 SHAP 解释器. 随后, 该模块计算样
本集合的平均 Shapley 值及平均 Shapley 交互值, 并据此筛选出对程序性能影响显著的选项集合, 以指导下一轮迭

