pycuda


Namepycuda JSON
Version 2024.1 PyPI version JSON
download
home_pagehttp://mathema.tician.de/software/pycuda
SummaryPython wrapper for Nvidia CUDA
upload_time2024-01-03 16:54:26
maintainer
docs_urlNone
authorAndreas Kloeckner
requires_python~=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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 <https://nvidia.com>`_'s `CUDA
<https://nvidia.com/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 <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`_
  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 <https://documen.tician.de/pycuda>`_.

Relatedly, like-minded computing goodness for `OpenCL <https://www.khronos.org/registry/OpenCL/>`_
is provided by PyCUDA's sister project `PyOpenCL <https://pypi.org/project/pyopencl>`_.

            

Raw data

            {
    "_id": null,
    "home_page": "http://mathema.tician.de/software/pycuda",
    "name": "pycuda",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "~=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Andreas Kloeckner",
    "author_email": "inform@tiker.net",
    "download_url": "https://files.pythonhosted.org/packages/3f/50/dd356c8afe228baecaf0259b9579121dd869c5ace07a296158c39ac5065a/pycuda-2024.1.tar.gz",
    "platform": null,
    "description": "PyCUDA: Pythonic Access to CUDA, with Arrays and Algorithms\n=============================================================\n\n.. image:: https://gitlab.tiker.net/inducer/pycuda/badges/main/pipeline.svg\n    :alt: Gitlab Build Status\n    :target: https://gitlab.tiker.net/inducer/pycuda/commits/main\n.. image:: https://badge.fury.io/py/pycuda.png\n    :target: https://pypi.org/project/pycuda\n.. image:: https://zenodo.org/badge/1575319.svg\n    :alt: Zenodo DOI for latest release\n    :target: https://zenodo.org/badge/latestdoi/1575319\n\nPyCUDA lets you access `Nvidia <https://nvidia.com>`_'s `CUDA\n<https://nvidia.com/cuda/>`_ parallel computation API from Python.\nSeveral wrappers of the CUDA API already exist-so what's so special\nabout PyCUDA?\n\n* Object cleanup tied to lifetime of objects. This idiom, often\n  called\n  `RAII <https://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`_\n  in C++, makes it much easier to write correct, leak- and\n  crash-free code. PyCUDA knows about dependencies, too, so (for\n  example) it won't detach from a context before all memory\n  allocated in it is also freed.\n\n* Convenience. Abstractions like pycuda.driver.SourceModule and\n  pycuda.gpuarray.GPUArray make CUDA programming even more\n  convenient than with Nvidia's C-based runtime.\n\n* Completeness. PyCUDA puts the full power of CUDA's driver API at\n  your disposal, if you wish. It also includes code for\n  interoperability with OpenGL.\n\n* Automatic Error Checking. All CUDA errors are automatically\n  translated into Python exceptions.\n\n* Speed. PyCUDA's base layer is written in C++, so all the niceties\n  above are virtually free.\n\n* Helpful `Documentation <https://documen.tician.de/pycuda>`_.\n\nRelatedly, like-minded computing goodness for `OpenCL <https://www.khronos.org/registry/OpenCL/>`_\nis provided by PyCUDA's sister project `PyOpenCL <https://pypi.org/project/pyopencl>`_.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python wrapper for Nvidia CUDA",
    "version": "2024.1",
    "project_urls": {
        "Homepage": "http://mathema.tician.de/software/pycuda",
        "Source": "https://github.com/inducer/pycuda"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3f50dd356c8afe228baecaf0259b9579121dd869c5ace07a296158c39ac5065a",
                "md5": "c71c62dbfa0022d02f0a34c18f239ef4",
                "sha256": "d50d23ff6371482cff7d4b953ef40ab81c9df038ecb614484f9fd5347327327e"
            },
            "downloads": -1,
            "filename": "pycuda-2024.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c71c62dbfa0022d02f0a34c18f239ef4",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.8",
            "size": 1683163,
            "upload_time": "2024-01-03T16:54:26",
            "upload_time_iso_8601": "2024-01-03T16:54:26.047248Z",
            "url": "https://files.pythonhosted.org/packages/3f/50/dd356c8afe228baecaf0259b9579121dd869c5ace07a296158c39ac5065a/pycuda-2024.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-03 16:54:26",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "inducer",
    "github_project": "pycuda",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "pycuda"
}
        
Elapsed time: 0.15904s