SC22 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Workshops Archive

Pattern-Based Autotuning of OpenMP Loops Using Graph Neural Networks


Workshop: Workshop on Artificial Intelligence and Machine Learning for Scientific Applications

Authors: Akash Dutta (Iowa State University); Jordi Alcaraz (University of Oregon); Ali Tehrani Jamsaz (Iowa State University); Anna Sikora and Eduardo Cesar (Autonomous University of Barcelona, Spain); and Ali Jannesari (Iowa State University)


Abstract: Frequently occurring code and design patterns in scientific applications are often used for parallelizing serial code. But, identifying these patterns is difficult. We propose using Graph Neural Networks for modeling code flow graphs to identify patterns in such parallel code. Additionally, identifying the best runtime parameters for parallel code is also challenging. We propose a pattern-guided deep learning based tuning approach, to identify the best runtime parameters for OpenMP loops. We validate our hypothesis on 20 different applications from Polybench, and STREAM benchmark suites. Our approach identifies patterns with an accuracy of 91%. We validate the usefulness of using patterns for auto-tuning, on tuning the number of threads, scheduling policies and chunk size on a single-socket system, and the thread count and affinity on a multi-socket machine. We achieve geometric mean speedups of 1.1X and 4.7X respectively over default OpenMP configurations, compared to brute-force speedups of 1.27X and 4.93X respectively.





Back to Workshop on Artificial Intelligence and Machine Learning for Scientific Applications Archive Listing



Back to Full Workshop Archive Listing