arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2210.01465cs.DCcs.GRcs.PF
收藏

用于自动调整GPU内核的基准优化算法

Benchmarking optimization algorithms for auto-tuning GPU kernels

Richard Schoonhoven, Ben van Werkhoven, Kees Joost Batenburg

摘要:

近年来,由于图形处理单元(GPU)以相对低的成本具有高并行计算能力,因此其应用和能力显著增长。然而,编写计算高效的GPU程序(内核)是具有挑战性的,并且通常只有某些特定的内核配置才能显著提高性能。自动调优是自动优化软件以在目标硬件平台上高效执行的过程。自动调整对于GPU编程特别有用,因为单个内核需要在代码更改后针对不同的输入数据和不同的架构进行重新调整。然而,搜索空间的离散和非凸性质产生了具有挑战性的优化问题。在这项工作中,我们研究哪种算法产生最快的内核,如果调整任务的时间预算是不同的。我们进行了一项调查,26个不同的内核空间,从9个不同的GPU,16个不同的进化黑箱优化算法进行实验。然后,我们分析这些结果,并介绍了一种新的度量的基础上的PageRank中心性的概念作为一种工具,深入了解的困难的优化问题。我们证明,我们的度量与观察到的调谐性能密切相关。

英文摘要:

Recent years have witnessed phenomenal growth in the application, and capabilities of Graphical Processing Units (GPUs) due to their high parallel computation power at relatively low cost. However, writing a computationally efficient GPU program (kernel) is challenging, and generally only certain specific kernel configurations lead to significant increases in performance. Auto-tuning is the process of automatically optimizing software for highly-efficient execution on a target hardware platform. Auto-tuning is particularly useful for GPU programming, as a single kernel requires re-tuning after code changes, for different input data, and for different architectures. However, the discrete, and non-convex nature of the search space creates a challenging optimization problem. In this work, we investigate which algorithm produces the fastest kernels if the time-budget for the tuning task is varied. We conduct a survey by performing experiments on 26 different kernel spaces, from 9 different GPUs, for 16 different evolutionary black-box optimization algorithms. We then analyze these results and introduce a novel metric based on the PageRank centrality concept as a tool for gaining insight into the difficulty of the optimization problem. We demonstrate that our metric correlates strongly with observed tuning performance.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑