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