Skip to content

cf-natali/pycuda

This branch is 234 commits behind inducer/pycuda:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4e0c198 · Nov 30, 2019
Sep 16, 2018
Nov 29, 2019
Jan 13, 2017
Aug 12, 2019
Aug 9, 2019
Nov 29, 2018
Aug 9, 2016
Feb 3, 2019
Dec 11, 2013
Oct 15, 2016
Aug 1, 2018
Aug 21, 2008
Oct 23, 2013
Mar 11, 2009
May 18, 2019
Dec 9, 2015
Jan 19, 2016
Jul 11, 2019

Repository files navigation

PyCUDA lets you access Nvidia's CUDA parallel computation API from Python. Several wrappers of the CUDA API already exist-so what's so special about PyCUDA?

https://badge.fury.io/py/pycuda.png
  • Object cleanup tied to lifetime of objects. This idiom, often called RAII in C++, makes it much easier to write correct, leak- and crash-free code. PyCUDA knows about dependencies, too, so (for example) it won't detach from a context before all memory allocated in it is also freed.
  • Convenience. Abstractions like pycuda.driver.SourceModule and pycuda.gpuarray.GPUArray make CUDA programming even more convenient than with Nvidia's C-based runtime.
  • Completeness. PyCUDA puts the full power of CUDA's driver API at your disposal, if you wish. It also includes code for interoperability with OpenGL.
  • Automatic Error Checking. All CUDA errors are automatically translated into Python exceptions.
  • Speed. PyCUDA's base layer is written in C++, so all the niceties above are virtually free.
  • Helpful Documentation and a Wiki.

Relatedly, like-minded computing goodness for OpenCL is provided by PyCUDA's sister project PyOpenCL.

About

CUDA integration for Python, plus shiny features

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 57.2%
  • C++ 42.8%