Accelerated Computing research group
Optimization Techniques for GPU Programming

ACM Computing Surveys has published our paper on optimization techniques for GPU programming. The paper presents the first comprehensive overview of software techniques and approaches that have been proposed in scientific literature to improve the performance of GPU applications. We focus on software techniques that can be applied by programmers to improve performance on existing hardware in the context of GPU programming languages, such as CUDA and OpenCL.

Abstract

In the past decade, Graphics Processing Units have played an important role in the field of high-performance computing and they still advance new fields such as IoT, autonomous vehicles, and exascale computing. It is therefore important to understand how to extract performance from these processors, something that is not trivial. This survey discusses various optimization techniques found in 450 articles published in the last 14 years. We analyze the optimizations from different perspectives which shows that the various optimizations are highly interrelated, explaining the need for techniques such as auto-tuning.

Citation

Optimization Techniques for GPU Programming
P. Hijma, A. Sclocco, S. Heldens, B. van Werkhoven, H.E. Bal
ACM Computing Surveys 2023
https://doi.org/10.1145/3570638

Written by

Ben van Werkhoven

Ben van Werkhoven is assistant professor at LIACS and head of the Accelerated Computing research group. His research interests lie in High Performance Computing (HPC), software optimization, automatic performance tuning (auto-tuning), energy efficiency, programming models, performance modeling, and the acceleration of scientific applications.