Daily Arxiv

This page organizes papers related to artificial intelligence published around the world.
This page is summarized using Google Gemini and is operated on a non-profit basis.
The copyright of the paper belongs to the author and the relevant institution. When sharing, simply cite the source.

ACCeLLiuM: Supervised Fine-Tuning for Automated OpenACC Pragma Generation

Created by
  • Haebom

Author

Samyak Jhaveri, Vanessa Klotzmann, Crista Lopes

Outline

This paper introduces two open-weighted large-scale language models (LLMs), ACCeLLiuM, specifically tuned to generate OpenACC directives for GPU programming. ACCeLLiuM is designed to generate expert-quality OpenACC directives for data-parallel loops, and is accompanied by a supervised learning fine-tuning dataset used to train it. The ACCeLLiuM SFT dataset consists of 4,033 OpenACC pragma-loop pairs extracted from the public GitHub C/C++ repository, and the models were trained and tested on this dataset. Experimental results show a significant performance difference in OpenACC pragma generation between the baseline LLMs and the fine-tuned ACCeLLiuM versions.

Takeaways, Limitations

Takeaways:
The ACCeLLiuM model effectively generates correct OpenACC pragmas for data-parallel loops.
The model generates the correct directive types for $87$ data-parallel loops and the correct pragmas (including directives, clauses, clause order, and clause variables) for $50$ cases.
Although the generated pragmas may not be exact, they often contain the correct clauses or include additional clauses to enable fine-grained control over parallel execution, data movement, and concurrency.
By releasing the code, models, and datasets, we establish a reproducible benchmark for LLM-based OpenACC pragma generation and lower the barrier to automatic GPU offloading of sequentially written programs.
Limitations:
Although __T5_____ is not directly mentioned in the paper, potential limitations include that the generated pragmas are not $100$ accurate and that the model only applies to C/C++ code.
👍