PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation

PyCUDA and PyOpenCL: A scripting-based approach to GPU run-time code generation
复制标题

DOI:
10.1016/j.parco.2011.09.001
复制
发表时间:
2012-03-01
期刊:
影响因子:
1.4
通讯作者:
Fasih, Ahmed
Fasih, Ahmed
中科院分区:
计算机科学4区
文献类型:
--
作者:
Kloeckner, Andreas;Pinto, Nicolas;Fasih, Ahmed

文献摘要

被引文献

相似文献

高性能计算最近出现了对异构系统的兴趣激增,重点是现代图形处理单元(gpu)。这些设备为计算科学的重要大规模应用提供了巨大的性能和效率潜力。然而,开发这种潜力可能具有挑战性,因为必须适应gpu当前所展示的专业化和快速发展的计算环境。解决这一挑战的一种方法是采用更好的技术并开发适合其需求的工具。本文介绍了一种简单的技术,即CPU运行时代码生成(RTCG),以及支持该技术的两个开源工具包PyCUDA和PyOpenCL。在介绍PyCUDA和PyOpenCL时,本文建议将动态的高级脚本语言与CPU的大量性能结合起来,作为一个引人注目的两层计算平台,与传统的单层静态系统相比,可能提供显著的性能和生产力优势。RTCG的概念很简单,使用现有的健壮的基础设施很容易实现。尽管如此,它仍然足够强大,可以支持(并鼓励)用户创建特定于应用程序的定制工具。本文的前提是通过广泛的例子说明,其中该技术已取得相当大的成功。(C) 2011 Elsevier B.V.版权所有
High-performance computing has recently seen a surge of interest in heterogeneous systems, with an emphasis on modern Graphics Processing Units (GPUs). These devices offer tremendous potential for performance and efficiency in important large-scale applications of computational science. However, exploiting this potential can be challenging, as one must adapt to the specialized and rapidly evolving computing environment currently exhibited by GPUs. One way of addressing this challenge is to embrace better techniques and develop tools tailored to their needs. This article presents one simple technique, CPU run-time code generation (RTCG), along with PyCUDA and PyOpenCL, two open-source tool-kits that supports this technique.In introducing PyCUDA and PyOpenCL, this article proposes the combination of a dynamic, high-level scripting language with the massive performance of a CPU as a compelling two-tiered computing platform, potentially offering significant performance and productivity advantages over conventional single-tier, static systems. The concept of RTCG is simple and easily implemented using existing, robust infrastructure. Nonetheless it is powerful enough to support (and encourage) the creation of custom application-specific tools by its users. The premise of the paper is illustrated by a wide range of examples where the technique has been applied with considerable success. (C) 2011 Elsevier B.V. All rights