arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1604.03410cs.DCcs.PL
收藏

Julia中的高级GPU编程

High-level GPU programming in Julia

Tim Besard, Pieter Verstraete, Bjorn De Sutter

摘要:

GPU是用于加速科学计算的流行设备。然而,由于GPU代码通常是用低级语言编写的,它打破了科学程序员流行的高级语言的抽象。为了克服这一点,我们提出了一个框架的CUDA GPU编程的高级朱莉娅程序设计语言。此框架编译Julia源代码以供GPU执行,并使用现代代码生成技术处理必要的低级交互,以避免运行时开销。评估框架及其API的案例研究,包括跟踪变换领域的图像处理,我们发现,对性能的影响是最小的,同时大大提高了程序员的生产力。Julia语言的元编程能力证明了这一点。我们的框架显着提高了GPU的可用性,使它们能够被广泛的程序员访问。它可以作为自由和开源软件在MIT许可证下获得许可。

英文摘要:

GPUs are popular devices for accelerating scientific calculations. However, as GPU code is usually written in low-level languages, it breaks the abstractions of high-level languages popular with scientific programmers. To overcome this, we present a framework for CUDA GPU programming in the high-level Julia programming language. This framework compiles Julia source code for GPU execution, and takes care of the necessary low-level interactions using modern code generation techniques to avoid run-time overhead. Evaluating the framework and its APIs on a case study comprising the trace transform from the field of image processing, we find that the impact on performance is minimal, while greatly increasing programmer productivity. The metaprogramming capabilities of the Julia language proved invaluable for enabling this. Our framework significantly improves usability of GPUs, making them accessible for a wide range of programmers. It is available as free and open-source software licensed under the MIT License.

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

↑