USING THE SPIN MODEL CHECKER FOR AUTO-TUNING HIGH-PERFORMANCE PROGRAMS
Abstract The paper bridges two traditionally separate research directions: (1) model checking, commonly used in the formal verification of programs, and (2) auto-tuning, frequently applied in high-performance computing. Auto-tuning frameworks optimize parallel programs by identifying the optimal values of performance-critical parameters—known as tuning parameters—for specific high-performance architectures and data sizes. Given the large number of parameters affecting a program’s performance, determining the optimal configuration is a challenging task, even for experts. Although auto-tuning automates this process, it is often time-intensive. We accelerate auto-tuning by applying model checking, utilizing a counterexample generated during the verification of the program’s optimality property. This paper provides a detailed implementation of our approach for OpenCL programs—a standard for programming modern high-performance architectures—using the Promela modeling language and the SPIN verification tool, along with a report on our experimental results.
Authors
- Sergey Staroletov (ORCID: https://orcid.org/0000-0001-5183-9736)
- Natalia Garanina (ORCID: https://orcid.org/0000-0001-9734-3808)
- Sergei Gorlatch (ORCID: https://orcid.org/0000-0003-3857-9380)
Institutions
- University of Münster (DE)
- Institute of Informatics Problems (RU)
- Institute of Automation and Electrometry (RU)
- A.P. Ershov Institute of Informatics Systems, Siberian Branch of the Russian Academy of Sciences
Publication Details
- Journal
- Journal of Mathematical Sciences
- Published
- 2025-04-07
- DOI
- https://doi.org/10.1007/s10958-025-07687-3
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- Deutscher Akademischer Austauschdienst
- Deutsche Forschungsgemeinschaft
- Westfälische Wilhelms-Universität Münster