A Tool for Automatically Suggesting Source-Code Optimizations for Complex GPU Kernels
Saeed Taheri, Apan Qasem, Martin Burtscher

TL;DR
This paper presents an automated tool designed to analyze complex GPU kernels and suggest source-code optimizations, aiming to simplify programming and improve performance on future heterogeneous computing systems.
Contribution
The paper introduces a novel automatic optimization suggestion tool specifically for complex GPU kernels, addressing the challenge of programming increasingly heterogeneous systems.
Findings
The tool effectively identifies optimization opportunities in GPU kernels.
It improves performance and energy efficiency through recommended code modifications.
The approach demonstrates potential to assist programmers in complex parallel computing environments.
Abstract
Future computing systems, from handhelds to supercomputers, will undoubtedly be more parallel and heterogeneous than todays systems to provide more performance and energy efficiency. Thus, GPUs are increasingly being used to accelerate general purpose applications, including applications with data dependent, irregular control flow and memory access patterns. However, the growing complexity, exposed memory hierarchy, incoherence, heterogeneity, and parallelism will make accelerator based systems progressively more difficult to program. In the foreseeable future, the vast majority of programmers will no longer be able to extract additional performance or energy savings from next generation systems be-cause the programming will be too difficult. Automatic performance analysis and optimization recommendation tools have the potential to avert this situation. They embody expert knowledge and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
