PATSMA: Parameter Auto-tuning for Shared Memory Algorithms

Programs with high levels of complexity often face challenges in adjusting execution parameters, particularly when the ideal value for these parameters may change based on the execution context. These dynamic parameters significantly impact the program’s performance. For instance, ideal parallel loo...

Full description

Saved in:
Bibliographic Details
Published inSoftwareX Vol. 27; p. 101789
Main Authors Fernandes, Joao B., Santos-da-Silva, Felipe H., Barros, Tiago, Assis, Italo A.S., Xavier-de-Souza, Samuel
Format Journal Article
LanguageEnglish
Published Elsevier B.V 01.09.2024
Elsevier
Subjects
Online AccessGet full text
ISSN2352-7110
2352-7110
DOI10.1016/j.softx.2024.101789

Cover

More Information
Summary:Programs with high levels of complexity often face challenges in adjusting execution parameters, particularly when the ideal value for these parameters may change based on the execution context. These dynamic parameters significantly impact the program’s performance. For instance, ideal parallel loop scheduling may vary depending on factors like the execution environment, program input, or the choice of compiler. Given the expensive nature of testing each case individually, one viable solution is to automate parameter adjustments using optimization methods. This article introduces PATSMA, a parameter auto-tuning tool that leverages Coupled Simulated Annealing (CSA) and Nelder–Mead (NM) optimization methods to fine-tune existing parameters in an iterative application. We demonstrate how auto-tuning can contribute to the real-time optimization of parallel algorithms designed for shared memory systems. PATSMA is a C++ library readily available under the MIT license.
ISSN:2352-7110
2352-7110
DOI:10.1016/j.softx.2024.101789