Auto-Tuning High-Performance Programs Using Model Checking in Promela

05/16/2023
by   Natalia Garanina, et al.
0

The paper combines research approaches that traditionally have been disjoint: 1) model checking as used in formal verification of programs, and 2) auto-tuning as often used in high-performance computing. Auto-tuning frameworks optimize parallel programs by finding the optimal values of the performance-critical parameters – so-called tuning parameters – for a particular high-performance architecture and input data size. As there are many parameters influencing program's performance, finding the optimal parameter configuration is a hardly manageable task even for experts. Auto-tuning automates this process, but it is often time-consuming. We apply model checking for accelerating auto-tuning by using a counterexample constructed during the verification of the optimality property of the program. We describe in detail an implementation of our approach for programs written in OpenCL – the standard for programming modern high-performance architectures – using the model representation language Promela and the popular SPIN verification tool, and we report experimental results for an application use case.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/30/2020

Solving Interactive Fiction Games via Partial Evaluation and Bounded Model Checking

We present a case study on using program verification tools, specificall...
research
10/12/2019

ClassyTune: A Performance Auto-Tuner for Systems in the Cloud

Performance tuning can improve the system performance and thus enable th...
research
11/05/2019

KLARAPTOR: A Tool for Dynamically Finding Optimal Kernel Launch Parameters Targeting CUDA Programs

In this paper we present KLARAPTOR (Kernel LAunch parameters RAtional Pr...
research
01/30/2018

EMME: a formal tool for ECMAScript Memory Model Evaluation

Nearly all web-based interfaces are written in JavaScript. Given its pre...
research
06/01/2019

A Technique for Finding Optimal Program Launch Parameters Targeting Manycore Accelerators

In this paper, we present a new technique to dynamically determine the v...
research
09/02/2022

Programming with Context-Sensitive Holes using Dependency-Aware Tuning

Developing efficient and maintainable software systems is both hard and ...
research
08/10/2023

ESBMC v7.3: Model Checking C++ Programs using Clang AST

This paper introduces ESBMC v7.3, the latest Efficient SMT-Based Context...

Please sign up or login with your details

Forgot password? Click here to reset