Sign in


Consolidating and Future-proofing Kernel Tuner by developing Software Engineering Best Practices

Graphics Processing Units (GPUs) have revolutionized the HPC and AI landscape. The first generation of exascale supercomputers is currently being built, and most of these systems will have GPUs as their main computing platform. The performance of GPU applications strongly depends on how the software has been optimized for the hardware. There are many different implementations and code optimizations to consider that can also be parameterized, creating vast search spaces that are infeasible to search by hand. As such, automated performance tuning (auto-tuning) techniques are crucial to optimize such applications. Kernel Tuner is an easy-to-use software development tool for creating automatically tuned GPU applications developed by the Netherlands eScience Center.

The main goal of this project is to consolidate the Kernel Tuner ecosystem and carry out several software engineering improvements, streamlining the software development processes, and prepare Kernel Tuner for new use cases in future eScience projects and collaborations. The upgrades take place in the user interface and core of Kernel Tuner, as well as in the CI/CD infrastructure. Kernel Tuner is already used in many different eScience projects, and the lessons we learn in this KD project will be shared broadly within the organization directly as part of this project.

Participating organisations

Netherlands eScience Center



Ben van Werkhoven
Project Leader
Netherlands eScience Center
Stijn Heldens
Alessio Sclocco

Related tools

Kernel Tuner


Kernel Tuner greatly simplifies the development of highly-optimized and auto-tuned CUDA, OpenCL, and C code, supporting many advanced use-cases and optimization strategies that speed up the auto-tuning process.

Updated 2 months ago
36 14