HPC 内核调优要在庞大配置空间中反复编译和运行,传统方法容易耗尽有限评估预算。论文提出 Neural Configuration Scorer (NCS):先由迁移学习的 GCTLA 过采样候选,再把候选 LLVM IR 输入五个按性能分位训练的 CNN,预测并排序近优配置,仅将高排名者降级为机器代码实测。在 3 个 Polybench/C kernel 与 3 个 ECP proxy 应用、8 张 NVIDIA A100 上,达到最优结果平均少用 27.85% 评估,最高减少 61.67%;SyR2K SM 的平均试验次数由 201.67 降到 16,训练推理和编译开销不超过约十次评估。结果集中于单一硬件和有限 benchmark,CNN 对长程 IR 依赖及部分应用的排序仍可能失准。
为何值得关注:用 LLVM IR 的机器学习排序减少 kernel autotuning 的实测次数,为有限预算下的自动算子优化提供了可复现实验路径。
核心问题 (Question)
为什么 LLVM IR 内核调优仍需大量编译和实测,传统迭代式 autotuner 在有限预算下容易把评估花在低质量配置上?能否通过迁移学习与神经性能排序器,在不牺牲最终性能的情况下优先验证更有希望的算子配置?
核心发现 (What)
论文发现,将 GCTLA 生成的候选 LLVM IR 交给五个按性能分位训练的 CNN 组成的 Neural Configuration Scorer(NCS)排序,可把高质量 kernel 配置提前评估;在 SyR2K SM 上平均试验次数由 201.67 降至 16,跨六个 HPC benchmark 平均少评估 27.85%、最高 61.67%,训练与推理加编译开销不超过约十次评估。
创新点与贡献 (Why it matters)
相较需要持续实测或反复拟合的 Bayesian optimization、GPTune 等方法,NCS 把低成本 IR 预测用于筛选候选,填补了迁移式概率采样与硬件真实性能之间的效率空白。证据仅覆盖单台含 8 张 A100 的 Linux 机器、Polybench/C 和 ECP 应用;论文也指出 CNN 对 IR 长程依赖及部分 RSBench、SW4Lite 场景可能失效。
实际应用与启示 (So what)
先在目标硬件上复现实验,用同一批 Polybench/C 与 ECP kernel 比较 GCTLA、GCTLA+NCS、BLISS、OpenTuner 和 GPTune;记录达到最优配置所需评估次数、运行时间、最终 speedup、编译及训练开销。若输入规模、架构或 IR 分布变化导致排序失准,应回退到原 autotuner,并保留至少三次随机种子。