Accelerated Computing research group

Kernel Tuner

Research in our group is driving the development of Kernel Tuner, an auto-tuning tool for GPU applications. The Kernel Tuner ecosystem is a set of software tools built on top of or around Kernel Tuner.

Kernel Tuner developers team

Ben van Werkhoven (Leiden University, Netherlands eScience Center)
Alessio Sclocco (Netherlands eScience Center)
Stijn Heldens (Netherlands eScience center)
Floris-Jan Willemsen (Leiden University, Netherlands eScience Center)
Richard Schoonhoven (Leiden University, CWI)
Willem Jan Palenstijn (Leiden University)
Bram Veenboer (Astron)
Leon Oostrum (Netherlands eScience Center)

Kernel Tuner developers team
Kernel Tuner

Kernel Tuner is a software tool designed for optimizing the performance GPU applications. It provides a flexible and easy-to-use interface for automated performance tuning, allowing users to experiment with different configurations and optimizations. Kernel Tuner support all mainstream GPU programming language, including CUDA, OpenCL, HIP, and OpenACC. In particular, Kernel Tuner implements many different optimization algorithms, such as Bayesian Optimization, to accelerate the auto-tuning process.

Kernel Launcher

Kernel Launcher is a C++ library that enables dynamic compilation of CUDA kernels at run time (using NVRTC) and launching them in an easy type-safe way using C++ magic. On top of that, Kernel Launcher supports capturing kernel launches, to enable tuning by Kernel Tuner, and importing the tuning results, known as wisdom files, back into the application. The result: highly efficient GPU applications with maximum portability.

Kernel Float

Kernel Float is a header-only library for CUDA that simplifies working with vector types and reduced precision floating-point arithmetic in GPU code.

Dashboard

KTdashboard allows you to monitor, analyze, and visualize an active or completed auto-tuning run of Kernel Tuner, a tool for automatic optimization of CPU and GPU computational kernels.