pycuda

CUDA integration for Python, plus shiny features

https://github.com/inducer/pycuda

Science Score: 64.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    21 of 82 committers (25.6%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (9.0%) to scientific vocabulary

Keywords

array cuda gpu gpu-computing multidimensional-arrays pycuda python scientific-computing

Keywords from Contributors

gtk qt tk wx ansible closember multiprocessing parallel-computing physics software-carpentry
Last synced: 4 months ago · JSON representation ·

Repository

CUDA integration for Python, plus shiny features

Basic Info
Statistics
  • Stars: 1,980
  • Watchers: 57
  • Forks: 293
  • Open Issues: 87
  • Releases: 9
Topics
array cuda gpu gpu-computing multidimensional-arrays pycuda python scientific-computing
Created over 14 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.rst

PyCUDA: Pythonic Access to CUDA, with Arrays and Algorithms
=============================================================

.. image:: https://gitlab.tiker.net/inducer/pycuda/badges/main/pipeline.svg
    :alt: Gitlab Build Status
    :target: https://gitlab.tiker.net/inducer/pycuda/commits/main
.. image:: https://badge.fury.io/py/pycuda.png
    :target: https://pypi.org/project/pycuda
.. image:: https://zenodo.org/badge/1575319.svg
    :alt: Zenodo DOI for latest release
    :target: https://zenodo.org/badge/latestdoi/1575319

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?

* 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 `_.

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

Owner

  • Name: Andreas Klöckner
  • Login: inducer
  • Kind: user
  • Location: Champaign, IL
  • Company: Scientific Computing, CS@UIUC

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Kloeckner"
  given-names: "Andreas"
  orcid: "https://orcid.org/0000-0003-1228-519X"
- family-names: Wohlgemuth
  given-names: Gert
- family-names: Lee
  given-names: Gregory
- family-names: Rybak
  given-names: Tomasz
- family-names: Nitz
  given-names: Alex
- family-names: Chiang
  given-names: David
- family-names: Seibert
  given-names: Stan
- family-names: Bergtholdt
  given-names: Martin
- family-names: Unterthiner
  given-names: Thomas
- family-names: Markall
  given-names: Graham
- family-names: Kotak
  given-names: Mit
- family-names: Favre-Nicolin
  given-names: Vincent
- family-names: Opanchuk
  given-names: Bogdan
- family-names: Merry
  given-names: Bruce
- family-names: Pinto
  given-names: Nicolas
- family-names: Milo
  given-names: Fabrizio
- family-names: Collignon
  given-names: Thomas
- family-names: Rathgeber
  given-names: Florian
- family-names: Perkins
  given-names: Simon
- family-names: Rutsky
  given-names: Vladimir
- family-names: Catanzaro
  given-names: Bryan
- family-names: Park
  given-names: Alex
- family-names: Witherden
  given-names: Freddie
- family-names: E. Givon
  given-names: Lev
- family-names: Pfister
  given-names: Luke
- family-names: Brubaker
  given-names: Marcus
- family-names: ZA
  given-names: RA
- family-names: Hausammann
  given-names: Loic
- family-names: Gohlke
  given-names: Christoph

title: "PyCUDA"
version: 2022.1
doi: 10.5281/zenodo.6728391
date-released: 2022-06-10
url: "https://github.com/inducer/pycuda"
license: MIT

GitHub Events

Total
  • Create event: 2
  • Release event: 2
  • Issues event: 13
  • Watch event: 140
  • Delete event: 1
  • Issue comment event: 21
  • Push event: 7
  • Pull request event: 4
  • Fork event: 11
Last Year
  • Create event: 2
  • Release event: 2
  • Issues event: 13
  • Watch event: 140
  • Delete event: 1
  • Issue comment event: 21
  • Push event: 7
  • Pull request event: 4
  • Fork event: 11

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 1,356
  • Total Committers: 82
  • Avg Commits per committer: 16.537
  • Development Distribution Score (DDS): 0.355
Past Year
  • Commits: 23
  • Committers: 4
  • Avg Commits per committer: 5.75
  • Development Distribution Score (DDS): 0.217
Top Committers
Name Email Commits
Andreas Kloeckner i****m@t****t 875
wohlgemuth w****h@u****u 65
Andreas Kloeckner k****r@h****) 56
Andreas Kloeckner k****r@h****u 44
HendrikRiedmann r****n@d****u 35
Lurch L****h 15
Pierre Paleo p****o@e****r 15
Tomasz Rybak t****k@p****l 14
Gregory R. Lee g****e@c****g 14
Kaushik Kulkarni k****d@g****m 13
Mit Kotak m****2@i****u 11
Vincent Favre-Nicolin f****e@e****r 11
Alexander Harvey Nitz a****z@s****u 10
Andreas Kloeckner k****r@t****) 9
Stan Seibert s****n@m****g 9
Roberto Zamora-Zamora r****z@f****x 8
Thomas Unterthiner t****r@g****t 8
Martin Bergtholdt m****t@p****m 8
davidweichiang d****g@n****u 8
Bogdan Opanchuk m****r@g****m 7
Graham Markall g****l@n****m 7
Bruce Merry b****y@s****a 6
Nicolas Pinto p****o@m****u 5
Nicolas Pinto p****o@a****u 5
Bogdan Opanchuk b****n@o****t 5
Guillaume THOMAS-COLLIGNON g****t@n****m 4
Fabrizio Milo (misto) m****n@g****m 4
Dzhelil Rufat d****t@c****u 4
Hannes Bretschneider h****s@p****a 4
Bryan Catanzaro c****r@c****u 3
and 52 more...

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 110
  • Total pull requests: 40
  • Average time to close issues: 4 months
  • Average time to close pull requests: 27 days
  • Total issue authors: 94
  • Total pull request authors: 22
  • Average comments per issue: 2.58
  • Average comments per pull request: 1.98
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 13
  • Pull requests: 3
  • Average time to close issues: 7 days
  • Average time to close pull requests: about 6 hours
  • Issue authors: 12
  • Pull request authors: 2
  • Average comments per issue: 1.23
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mitkotak (6)
  • anbe42 (3)
  • pierrepaleo (3)
  • inducer (3)
  • vincefn (3)
  • ccarmatic (2)
  • bmerry (2)
  • jmpolinski (2)
  • ishandutta0098 (2)
  • timgates42 (1)
  • thuzhf (1)
  • ymmx2 (1)
  • ilciavo (1)
  • denniswittich (1)
  • pwalsh0 (1)
Pull Request Authors
  • inducer (12)
  • totaam (5)
  • vincefn (5)
  • zzjjbb (3)
  • matthiasdiener (2)
  • namoshizun (2)
  • guoci (2)
  • mitkotak (2)
  • bmerry (2)
  • isuruf (1)
  • bastidest (1)
  • kaushikcfd (1)
  • brumen (1)
  • hyperfraise (1)
  • ByLamacq (1)
Top Labels
Issue Labels
bug (53) enhancement (7)
Pull Request Labels

Packages

  • Total packages: 3
  • Total downloads:
    • pypi 49,390 last-month
  • Total docker downloads: 14,044
  • Total dependent packages: 58
    (may contain duplicates)
  • Total dependent repositories: 547
    (may contain duplicates)
  • Total versions: 61
  • Total maintainers: 2
pypi.org: pycuda

Python wrapper for Nvidia CUDA

  • Versions: 57
  • Dependent Packages: 57
  • Dependent Repositories: 544
  • Downloads: 48,664 Last month
  • Docker Downloads: 14,044
Rankings
Dependent packages count: 0.3%
Dependent repos count: 0.6%
Docker downloads count: 1.3%
Average: 1.4%
Downloads: 1.6%
Stargazers count: 1.7%
Forks count: 3.1%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: pycuda

PyCUDA lets you access GPUs from Python, through the CUDA parallel compute interface.

  • Versions: 3
  • Dependent Packages: 1
  • Dependent Repositories: 3
Rankings
Stargazers count: 10.4%
Forks count: 10.7%
Average: 17.1%
Dependent repos count: 18.1%
Dependent packages count: 29.0%
Last synced: 4 months ago
pypi.org: pycuda-gml

Python wrapper for Nvidia CUDA

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 726 Last month
Rankings
Dependent packages count: 10.4%
Average: 34.5%
Dependent repos count: 58.7%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/autopush.yml actions
  • actions/checkout v3 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
setup.py pypi
  • appdirs >=1.4.0
  • mako *
  • pytools >=2011.2
pyproject.toml pypi