Advising OpenMP Parallelization via a Graph-Based Approach with Transformers
Tal Kadosh, Nadav Schneider, Niranjan Hasabnis, Timothy Mattson, Yuval, Pinter, and Gal Oren

TL;DR
This paper introduces OMPify, a Transformer-based model utilizing graph representations of source code to automatically detect and predict OpenMP parallelization pragmas, significantly improving over existing methods in accuracy and robustness.
Contribution
The paper presents a novel graph-based Transformer approach, OMPify, for automatic OpenMP parallelization prediction, outperforming prior models like ChatGPT and PragFormer.
Findings
OMPify achieves up to 90% accuracy on benchmark tests.
It outperforms existing models in F1 score and accuracy.
Data augmentation and curriculum learning enhance model robustness.
Abstract
There is an ever-present need for shared memory parallelization schemes to exploit the full potential of multi-core architectures. The most common parallelization API addressing this need today is OpenMP. Nevertheless, writing parallel code manually is complex and effort-intensive. Thus, many deterministic source-to-source (S2S) compilers have emerged, intending to automate the process of translating serial to parallel code. However, recent studies have shown that these compilers are impractical in many scenarios. In this work, we combine the latest advancements in the field of AI and natural language processing (NLP) with the vast amount of open-source code to address the problem of automatic parallelization. Specifically, we propose a novel approach, called OMPify, to detect and predict the OpenMP pragmas and shared-memory attributes in parallel code, given its serial version. OMPify…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software System Performance and Reliability · Topic Modeling
