Understanding the Power of Evolutionary Computation for GPU Code Optimization
Jhe-Yu Liou, Muaaz Awan, Steven Hofmeyr, Stephanie Forrest,, Carole-Jean Wu

TL;DR
This paper demonstrates that evolutionary computation can significantly optimize GPU code performance, achieving speedups comparable to hand-tuned code and reducing the expertise required for high-performance scientific computing applications.
Contribution
The paper introduces GEVO, an evolutionary computation tool that automates GPU code optimization, achieving substantial performance improvements across different scientific workloads.
Findings
GEVO improves GPU kernel performance by up to 29%.
Starting from unoptimized code, GEVO achieves 30x speedup.
Optimizations vary across applications but often generalize across architectures.
Abstract
Achieving high performance for GPU codes requires developers to have significant knowledge in parallel programming and GPU architectures, and in-depth understanding of the application. This combination makes it challenging to find performance optimizations for GPU-based applications, especially in scientific computing. This paper shows that significant speedups can be achieved on two quite different scientific workloads using the tool, GEVO, to improve performance over human-optimized GPU code. GEVO uses evolutionary computation to find code edits that improve the runtime of a multiple sequence alignment kernel and a SARS-CoV-2 simulation by 28.9% and 29% respectively. Further, when GEVO begins with an early, unoptimized version of the sequence alignment program, it finds an impressive 30 times speedup -- a performance improvement similar to that of the hand-tuned version. This work…
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
TopicsEvolutionary Algorithms and Applications · Metaheuristic Optimization Algorithms Research · Protein Degradation and Inhibitors
