Genetic Improvement of GPU Code

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

1 Scopus citations

Abstract

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.
Pages20-27
Number of pages8
ISBN (Electronic)9781728122687
DOIs
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

Conference

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

Keywords

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

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

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

  • Cite this

    Liou, J. Y., Forrest, S., & Wu, C. J. (2019). Genetic Improvement of GPU Code. In Proceedings - 2019 IEEE/ACM 6th International Workshop on Genetic Improvement, GI 2019 (pp. 20-27). [8823635] (Proceedings - 2019 IEEE/ACM 6th International Workshop on Genetic Improvement, GI 2019). Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/GI.2019.00014