Concepedia

Publication | Closed Access

PyCUDA: GPU Run-Time Code Generation for High-Performance Computing

80

Citations

25

References

2009

Year

Abstract

High-performance scientic computing has recently seen a surge of interest in heterogeneous systems, with an emphasis on modern Graphics Processing Units (GPUs). These devices oer tremendous potential for performance and eciency 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, GPU run-time code generation (RTCG), and PyCUDA, an open-source toolkit that supports this technique. In introducing PyCUDA, this article proposes the combination of a dynamic, high-level scripting language with the massive performance of a GPU as a compelling two-tiered computing platform, potentially oering signicant performance and productivity advantages over conventional single-tier, static systems. It is further observed that, compared to competing techniques, the eort required to create codes using run-time code generation with PyCUDA grows more gently in response to growing needs. The concept of RTCG is simple and easily implemented using existing, robust tools. Nonetheless it is powerful enough to support (and encourage) the creation of custom application-specic 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.

References

YearCitations

Page 1