ACCeLLiuM:面向自动化 OpenACC pragma 生成的监督微调
软件工程
2025-09-29 v2 人工智能
编程语言
摘要
GPU 的日益普及伴随着其硬件与并行编程框架复杂度的提升。基于指令的并行编程标准如 OpenACC 通过抽象隐藏低层复杂性,一定程度上简化了 GPU 编程,但仍需大量专业知识才能有效使用这些指令。我们提出 ACCeLLiuM,两个针对数据并行循环生成专业 OpenACC 指令的开源权重大语言模型(LLM),以及用于训练的监督微调数据集。ACCeLLiuM SFT 数据集包含 4,033 对从公开 GitHub C/C++ 代码库中挖掘的 OpenACC pragma-loop 对,其中 3,223 对用于训练,810 对用于测试。实验评估显示,基础 LLM 与我们微调后的版本在生成正确的 OpenACC pragma 方面存在显著的性能差距。在 held-out 测试集上,基础 LLM 无法持续生成有效的 pragma,而在 ACCeLLiuM 数据集上微调的 LLM 可在 87% 的数据并行循环中生成正确的指令类型,并在 50% 的案例中生成包含指令、子句、子句顺序和子句变量的精确 pragma。即便不完全一致,生成的 pragma 也常包含正确的子句,顺序略有不同,或包含额外的子句,这些子句有助于对并行执行、数据传输和并发性进行更细粒度的控制,具有实际价值。通过公开发布代码、模型和数据集作为 ACCeLLiuM,我们希望为 LLM 驱动的 OpenACC pragma 生成建立可复现的基准,并降低串行编写程序进行 GPU 卸载的门槛。
引用
@article{arxiv.2509.20380,
title = {ACCeLLiuM: Supervised Fine-Tuning for Automated OpenACC Pragma Generation},
author = {Samyak Jhaveri and Vanessa Klotzmann and Crista Lopes},
journal= {arXiv preprint arXiv:2509.20380},
year = {2025}
}