GSoC 2024:LLVM 中的 1001 个阈值

主要观点:作者 Shourya 通过 GSoC 暑期项目在 LLVM 上工作,项目为研究 LLVM 中不同阈值对性能参数的影响。
关键信息

  • 背景:LLVM 有很多阈值和标志,但不清楚其是否有用及影响,需探索不同阈值。
  • 所做工作:构建 clang 匹配器识别代码库中的旋钮,用自定义 Python 工具收集统计值并以交互图展示,进行了三种研究。
  • 结果:每个文件的研究表明不存在单一最佳旋钮值,需自适应机制确定合适阈值,还展示了有预言器可显著改善累计编译时间,探索了 93 个阈值并发现其大多是文件特定的。
  • 未来工作:需更好理解旋钮值,展示旋钮间相互作用,开展输入生成工作以研究执行时间。
    重要细节
  • 识别旋钮的模式有 Const knob_name = knob_val、Cl::init、Enum {knob_name = knob_val}。
  • 展示了不同阈值下的跳跃线程阈值的有趣模式,如增加旋钮值可改善统计和减少平均编译时间。
  • 早期结果提供了开发适应编译模型的第一步,提供了收集和可视化数据的工具及相关图表。
  • 感谢导师及相关人员,提供了项目代码、研究链接和 GSoC 项目页面链接。
阅读 12
0 条评论