  Programs with high levels of complexity often face challenges in adjusting
execution parameters, particularly when these parameters vary based on the
execution context. These dynamic parameters significantly impact the program's
performance, such as loop granularity, which can 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 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.
