GPU code optimization and auto-tuning made easy with Kernel Tuner: a hands-on, bring your own code tutorial

GPU code optimization and auto-tuning made easy with Kernel Tuner: a hands-on, bring your own code tutorial

Sunday, May 29, 2022 9:00 AM to 1:00 PM · 3 hr. 59 min. (Europe/Berlin)
Hall Y8 - 2nd Floor

Information

Graphics Processing Units (GPUs) have revolutionized the HPC 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. In this tutorial, you will learn how to use Kernel Tuner, an easy-to-use tool for auto-tuning GPU code using simple Python scripts. Kernel Tuner supports OpenCL, CUDA, C++, and Fortran. We take a step-by-step approach to explain the auto-tuning basics, building up to more complex search spaces with many tunable parameters and inter-dependencies. We cover a wide range of topics from the basics of GPU code optimization, to using advanced search space optimization strategies to accelerate the auto-tuning process. Participants are welcome to bring their own code for the exercises, but we also provide plenty of code examples. Participants can use Jupyter Notebooks and Google Colab, or their own computing platform.
Contributors:

  • Ben van Werkhoven (Netherlands eScience Center)
  • Alessio Sclocco (Netherlands eScience Center)
  • Henk Dreuning (University of Amsterdam)
  • Stijn Heldens (Netherlands eScience Center)
Format
On-site