An automated OpenMP mutation testing framework for performance optimization.
Saved in:
| Title: | An automated OpenMP mutation testing framework for performance optimization. |
|---|---|
| Authors: | Miao, Dolores1 (AUTHOR) wjmiao@ucdavis.edu, Laguna, Ignacio2 (AUTHOR), Georgakoudis, Giorgis2 (AUTHOR), Parasyris, Konstantinos2 (AUTHOR), Rubio-González, Cindy1 (AUTHOR) |
| Source: | Parallel Computing. Sep2024, Vol. 121, pN.PAG-N.PAG. 1p. |
| Subjects: | Optimization algorithms, Mathematical optimization, Source code, Decision trees, Debugging, Compilers (Computer programs) |
| Abstract: | Performance optimization continues to be a challenge in modern HPC software. Existing performance optimization techniques, including profiling-based and auto-tuning techniques, fail to indicate program modifications at the source level thus preventing their portability across compilers. This paper describes Muppet , a new approach that identifies program modifications called mutations aimed at improving program performance. Muppet 's mutations help developers reason about performance defects and missed opportunities to improve performance at the source code level. In contrast to compiler techniques that optimize code at intermediate representations (IR), Muppet uses the idea of source-level mutation testing to relax correctness constraints and automatically discover optimization opportunities that otherwise are not feasible using the IR. We demonstrate the Muppet 's concept in the OpenMP programming model. Muppet generates a list of OpenMP mutations that alter the program parallelism in various ways, and is capable of running a variety of optimization algorithms such as delta debugging, Bayesian Optimization and decision tree optimization to find a subset of mutations which, when applied to the original program, cause the most speedup while maintaining program correctness. When Muppet is evaluated against a diverse set of benchmark programs and proxy applications, it is capable of finding sets of mutations that induce speedup in 75.9% of the evaluated programs. [ABSTRACT FROM AUTHOR] |
| Copyright of Parallel Computing is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.) | |
| Database: | Engineering Source |
| FullText | Text: Availability: 0 |
|---|---|
| Header | DbId: egs DbLabel: Engineering Source An: 179499839 AccessLevel: 6 PubType: Academic Journal PubTypeId: academicJournal PreciseRelevancyScore: 0 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: An automated OpenMP mutation testing framework for performance optimization. – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Miao%2C+Dolores%22">Miao, Dolores</searchLink><relatesTo>1</relatesTo> (AUTHOR)<i> wjmiao@ucdavis.edu</i><br /><searchLink fieldCode="AR" term="%22Laguna%2C+Ignacio%22">Laguna, Ignacio</searchLink><relatesTo>2</relatesTo> (AUTHOR)<br /><searchLink fieldCode="AR" term="%22Georgakoudis%2C+Giorgis%22">Georgakoudis, Giorgis</searchLink><relatesTo>2</relatesTo> (AUTHOR)<br /><searchLink fieldCode="AR" term="%22Parasyris%2C+Konstantinos%22">Parasyris, Konstantinos</searchLink><relatesTo>2</relatesTo> (AUTHOR)<br /><searchLink fieldCode="AR" term="%22Rubio-González%2C+Cindy%22">Rubio-González, Cindy</searchLink><relatesTo>1</relatesTo> (AUTHOR) – Name: TitleSource Label: Source Group: Src Data: <searchLink fieldCode="JN" term="%22Parallel+Computing%22">Parallel Computing</searchLink>. Sep2024, Vol. 121, pN.PAG-N.PAG. 1p. – Name: Subject Label: Subjects Group: Su Data: <searchLink fieldCode="DE" term="%22Optimization+algorithms%22">Optimization algorithms</searchLink><br /><searchLink fieldCode="DE" term="%22Mathematical+optimization%22">Mathematical optimization</searchLink><br /><searchLink fieldCode="DE" term="%22Source+code%22">Source code</searchLink><br /><searchLink fieldCode="DE" term="%22Decision+trees%22">Decision trees</searchLink><br /><searchLink fieldCode="DE" term="%22Debugging%22">Debugging</searchLink><br /><searchLink fieldCode="DE" term="%22Compilers+%28Computer+programs%29%22">Compilers (Computer programs)</searchLink> – Name: Abstract Label: Abstract Group: Ab Data: Performance optimization continues to be a challenge in modern HPC software. Existing performance optimization techniques, including profiling-based and auto-tuning techniques, fail to indicate program modifications at the source level thus preventing their portability across compilers. This paper describes Muppet , a new approach that identifies program modifications called mutations aimed at improving program performance. Muppet 's mutations help developers reason about performance defects and missed opportunities to improve performance at the source code level. In contrast to compiler techniques that optimize code at intermediate representations (IR), Muppet uses the idea of source-level mutation testing to relax correctness constraints and automatically discover optimization opportunities that otherwise are not feasible using the IR. We demonstrate the Muppet 's concept in the OpenMP programming model. Muppet generates a list of OpenMP mutations that alter the program parallelism in various ways, and is capable of running a variety of optimization algorithms such as delta debugging, Bayesian Optimization and decision tree optimization to find a subset of mutations which, when applied to the original program, cause the most speedup while maintaining program correctness. When Muppet is evaluated against a diverse set of benchmark programs and proxy applications, it is capable of finding sets of mutations that induce speedup in 75.9% of the evaluated programs. [ABSTRACT FROM AUTHOR] – Name: AbstractSuppliedCopyright Label: Group: Ab Data: <i>Copyright of Parallel Computing is the property of Elsevier B.V. and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.) |
| PLink | https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=179499839 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.1016/j.parco.2024.103097 Languages: – Code: eng Text: English PhysicalDescription: Pagination: PageCount: 1 StartPage: N.PAG Subjects: – SubjectFull: Optimization algorithms Type: general – SubjectFull: Mathematical optimization Type: general – SubjectFull: Source code Type: general – SubjectFull: Decision trees Type: general – SubjectFull: Debugging Type: general – SubjectFull: Compilers (Computer programs) Type: general Titles: – TitleFull: An automated OpenMP mutation testing framework for performance optimization. Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Miao, Dolores – PersonEntity: Name: NameFull: Laguna, Ignacio – PersonEntity: Name: NameFull: Georgakoudis, Giorgis – PersonEntity: Name: NameFull: Parasyris, Konstantinos – PersonEntity: Name: NameFull: Rubio-González, Cindy IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 09 Text: Sep2024 Type: published Y: 2024 Identifiers: – Type: issn-print Value: 01678191 Numbering: – Type: volume Value: 121 Titles: – TitleFull: Parallel Computing Type: main |
| ResultId | 1 |