表达加速:类型化高级语言的无缝并行化

摘要:通用GPU上算法的高效并行化在许多领域中变得至关重要。然而,对于软件工程师来说,利用GPU来改善高级程序的性能是一个非常复杂的任务。尽管许多面向特定领域的方法可以用于GPU加速,但是在不重写使用低级别GPU代码的程序部分的情况下加速现有的高级程序是很困难的。在本文中,我们提出了一种不同的方法,其中表达式被标记为加速,编译器会自动推断哪些代码需要加速。我们将这种方法称为表达式加速。我们设计了一个编译器流水线来实施这种方法,并展示了如何处理几个挑战,包括表达式提取、良构性和使用多个后端进行编译。该方法在一个静态类型的函数中间语言中设计和实现,并使用三个不同的非平凡案例研究进行评估。

作者:Lars Hummelgren, John Wikman, Oscar Eriksson, Philipp Haller, David Broman

论文ID:2211.00621

分类:Programming Languages

分类简称:cs.PL

提交时间:2022-11-02

PDF 下载: 英文版 中文版pdf翻译中