Accelerated Computing research group
CompSys Best Presentation Award for Kernel Launcher

May 27, 2024 - At the Dutch national CompSys conference, I gave a presentation about the paper “Kernel Launcher: C++ library for creating optimal-performance portable CUDA applications” that I wrote together with Ben van Werkhoven. CompSys is a Computer Science conference designed to showcase the success stories of Dutch Computer Systems research, with the goal of fostering and strengthening national and international collaboration. I also presented this work at last year at the iWAPT workshop at IPDPS 2023 in St. Petersburg, Florida. This presentation at CompSys 2024 received the Best Presentation Award.

Abstract

Graphic Processing Units (GPUs) have become ubiquitous in scientific computing. However, writing efficient GPU kernels can be challenging due to the need for careful code tuning. To automatically explore the kernel optimization space, several auto-tuning tools - like Kernel Tuner - have been proposed. Unfortunately, these existing auto-tuning tools often do not concern themselves with integration of tuning results back into applications, which puts a significant implementation and maintenance burden on application developers. In this work, we present Kernel Launcher: an easy-to-use C++ library that simplifies the creation of highly-tuned CUDA applications. With Kernel Launcher, programmers can capture kernel launches, tune the captured kernels for different setups, and integrate the tuning results back into applications using runtime compilation. To showcase the applicability of Kernel Launcher, we consider a real-world computational fluid dynamics code and tune its kernels for different GPUs, input domains, and precisions.

Citation

Kernel Launcher: C++ library for creating optimal-performance portable CUDA applications
S. Heldens, B. van Werkhoven
International Workshop on Automatic Performance Tuning (iWAPT2023) co-located with IPDPS 2023
https://doi.org/10.1109/IPDPSW59300.2023.00126

Written by

Stijn Heldens

I'm a Dutch computer scientist, currently working as a Research Software Engineer (RSE) at the Netherlands eScience Center and also serving as a visiting researcher at the University of Amsterdam. I enjoy scientific research where my interests lie in high-performance computing, with a particular focus on parallel algorithms, distributed systems, programming languages/compilers, and GPU programming.