Evaluation of Graph Neural Networks for code pattern detection and autotuning of OpenMP loops

dc.contributor.advisor Jannesari, Ali
dc.contributor.advisor Aduri, Pavan
dc.contributor.advisor Lutz, Robyn R
dc.contributor.author Dutta, Akash
dc.contributor.department Department of Computer Science
dc.date.accessioned 2023-08-26T01:32:40Z
dc.date.available 2023-08-26T01:32:40Z
dc.date.issued 2023-08
dc.date.updated 2023-08-26T01:32:41Z
dc.description.abstract Stagnation of Moore's law has led to the increased adoption of parallel programming for enhancing performance of scientific applications. Frequently occurring code and design patterns in scientific applications are often used for transforming serial code to parallel. But, identifying these patterns is not easy. To this end, we propose using Graph Neural Networks for modeling code flow graphs to identify patterns in such parallel code. Additionally, identifying the runtime parameters for best performing parallel code is also challenging. We propose a pattern-guided deep learning based tuning approach, to help identify the best runtime parameters for OpenMP loops. Overall, we aim to identify commonly occurring patterns in parallel loops and use these patterns to guide auto-tuning efforts. We validate our hypothesis on 20 different applications from Polybench, and STREAM benchmark suites. This deep learning-based approach can identify the considered patterns with an overall 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. Our approach achieves 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.
dc.format.mimetype PDF
dc.identifier.doi https://doi.org/10.31274/td-20240329-302
dc.identifier.orcid 0009-0007-0947-1182
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/RwyqKnnw
dc.language.iso en
dc.language.rfc3066 en
dc.subject.disciplines Computer science en_US
dc.subject.keywords Autotuning en_US
dc.subject.keywords Code Patterns en_US
dc.subject.keywords Graph Neural Networks en_US
dc.subject.keywords OpenMP en_US
dc.subject.keywords Performance Counters en_US
dc.title Evaluation of Graph Neural Networks for code pattern detection and autotuning of OpenMP loops
dc.type thesis en_US
dc.type.genre thesis en_US
dspace.entity.type Publication
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
thesis.degree.discipline Computer science en_US
thesis.degree.grantor Iowa State University en_US
thesis.degree.level thesis $
thesis.degree.name Master of Science en_US
File
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Dutta_iastate_0097M_20977.pdf
Size:
416.52 KB
Format:
Adobe Portable Document Format
Description:
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
0 B
Format:
Item-specific license agreed upon to submission
Description: