GPU Scripting and Code Generation with PyCUDA

Andreas Klockner, Nicolas Pinto, Bryan Catanzaro, Yunsup Lee, Paul Ivanov, Ahmed Fasih
Courant Institute of Mathematical Sciences, New York University, New York, NY 10012
arXiv:1304.5553 [cs.SE], 19 Apr 2013


   author={Kl{"o}ckner}, A. and {Pinto}, N. and {Catanzaro}, B. and {Lee}, Y. and {Ivanov}, P. and {Fasih}, A.},

   title={"{GPU Scripting and Code Generation with PyCUDA}"},

   journal={ArXiv e-prints},




   keywords={Computer Science – Software Engineering},




   adsnote={Provided by the SAO/NASA Astrophysics Data System}


Download Download (PDF)   View View   Source Source   Source codes Source codes




High-level scripting languages are in many ways polar opposites to GPUs. GPUs are highly parallel, subject to hardware subtleties, and designed for maximum throughput, and they offer a tremendous advance in the performance achievable for a significant number of computational problems. On the other hand, scripting languages such as Python favor ease of use over computational speed and do not generally emphasize parallelism. PyCUDA is a package that attempts to join the two together. This chapter argues that in doing so, a programming environment is created that is greater than just the sum of its two parts. We would like to note that nearly all of this chapter applies in unmodified form to PyOpenCL, a sister project of PyCUDA, whose goal it is to realize the same concepts as PyCUDA for OpenCL.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: