论文标题

了解GPU代码优化的进化计算的力量

Understanding the Power of Evolutionary Computation for GPU Code Optimization

论文作者

Liou, Jhe-Yu, Awan, Muaaz, Hofmeyr, Steven, Forrest, Stephanie, Wu, Carole-Jean

论文摘要

为GPU代码实现高性能,需要开发人员在并行编程和GPU体系结构方面具有重要的知识,并对应用程序进行深入了解。这种组合使得针对基于GPU的应用程序,尤其是在科学计算中找到性能优化是一项挑战。本文表明,使用该工具GEVO可以在两个完全不同的科学工作负载上实现明显的加速,以提高对人类优化的GPU代码的性能。 GEVO使用进化计算来查找代码编辑,以改善多个序列比对内核和SARS-COV-2仿真分别分别为28.9%和29%。此外,当Gevo从序列对齐程序的早期,不优化的版本开始时,它发现了令人印象深刻的30倍速度 - 性能改进类似于手动调整版本。这项工作对发现的优化进行了深入的分析,表明改进的主要来源在应用程序之间有所不同。大多数优化在跨GPU体系结构中概括了;而且,一些最重要的优化涉及重要的代码相互依存。结果展示了自动化程序优化工具的潜力,以帮助减轻科学计算开发人员的优化负担,并增强特定于域特异性加速器的性能可移植性。

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 presents an in-depth analysis of the discovered optimizations, revealing that the primary sources of improvement vary across applications; that most of the optimizations generalize across GPU architectures; and that several of the most important optimizations involve significant code interdependencies. The results showcase the potential of automated program optimization tools to help reduce the optimization burden for scientific computing developers and enhance performance portability for domain-specific accelerators.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源