Genetic Improvement of GPU Code

Jhe Yu Liou, Stephanie Forrest, Carole Jean Wu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

7 Scopus citations


As the programming stack and tool support for GPU have matured, GPUs have become accessible to programmers who often lack domain-specific knowledge of the underlying architecture and fail to fully leverage the GPU's computation power. This paper presents GEVO (Gpu EVOlution), a tool for automatically tuning the performance of GPU kernels in the LLVM representation to meet desired criteria. GEVO uses population-based search to find edits to programs compiled to LLVM-IR that improve performance on desired criteria and retain required functionality. GEVO extends earlier GI work by operating directly on the LLVM-IR without custom representations or other manual interventions. We demonstrate that GEVO improves runtime on NVIDIA Tesla P100 for many programs in the Rodinia benchmark suite and a supervised machine learning code, ThunderSVM. For the Rodinia benchmark, GEVO improves GPU kernel runtime performance by an average of 13.87% and as much as 43% over the fully compiler-optimized baseline. If the kernel output accuracy is relaxed to tolerate 1% error, GEVO can find kernel variants that outperform the baseline version by an average of 15.47%. For ThunderSVM, GEVO reduces entire model training time by 50% and 24.8%, for MNIST handwriting recognition dataset and a9a income prediction, where the accuracy of trained model are improved by 0.17% and 0.04% respectively.

Original languageEnglish (US)
Title of host publicationProceedings - 2019 IEEE/ACM 6th International Workshop on Genetic Improvement, GI 2019
PublisherInstitute of Electrical and Electronics Engineers Inc.
Number of pages8
ISBN (Electronic)9781728122687
StatePublished - May 2019
Event6th IEEE/ACM International Workshop on Genetic Improvement, GI 2019 - Montreal, Canada
Duration: May 28 2019 → …

Publication series

NameProceedings - 2019 IEEE/ACM 6th International Workshop on Genetic Improvement, GI 2019


Conference6th IEEE/ACM International Workshop on Genetic Improvement, GI 2019
Period5/28/19 → …


  • GPU code optimization
  • Genetic Improvement
  • LLVM Intermediate Representation
  • Multi-objective Evolutionary Computation

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality


Dive into the research topics of 'Genetic Improvement of GPU Code'. Together they form a unique fingerprint.

Cite this