Skip to main content

Python wrapper for OpenCL

Project description

Gitlab Build Status Github Build Status Python Package Index Release Page

(Also: Travis CI to build binary wheels for releases, see #264)

PyOpenCL lets you access GPUs and other massively parallel compute devices from Python. It tries to offer computing goodness in the spirit of its sister project 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.

  • Completeness. PyOpenCL puts the full power of OpenCL’s API at your disposal, if you wish. Every obscure get_info() query and all CL calls are accessible.

  • Automatic Error Checking. All CL errors are automatically translated into Python exceptions.

  • Speed. PyOpenCL’s base layer is written in C++, so all the niceties above are virtually free.

  • Helpful and complete Documentation as well as a Wiki.

  • Liberal license. PyOpenCL is open-source under the MIT license and free for commercial, academic, and private use.

  • Broad support. PyOpenCL was tested and works with Apple’s, AMD’s, and Nvidia’s CL implementations.

Simple 4-step install instructions using Conda on Linux and macOS (that also install a working OpenCL implementation!) can be found in the documentation.

What you’ll need if you do not want to use the convenient instructions above and instead build from source:

  • gcc/g++ new enough to be compatible with pybind11 (see their FAQ)

  • numpy, and

  • an OpenCL implementation. (See this howto for how to get one.)

Places on the web related to PyOpenCL:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyopencl-2020.3.1.tar.gz (357.4 kB view details)

Uploaded Source

Built Distributions

pyopencl-2020.3.1-cp38-cp38-manylinux1_x86_64.whl (736.0 kB view details)

Uploaded CPython 3.8

pyopencl-2020.3.1-cp37-cp37m-manylinux1_x86_64.whl (737.9 kB view details)

Uploaded CPython 3.7m

pyopencl-2020.3.1-cp36-cp36m-manylinux1_x86_64.whl (738.0 kB view details)

Uploaded CPython 3.6m

File details

Details for the file pyopencl-2020.3.1.tar.gz.

File metadata

  • Download URL: pyopencl-2020.3.1.tar.gz
  • Upload date:
  • Size: 357.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.6

File hashes

Hashes for pyopencl-2020.3.1.tar.gz
Algorithm Hash digest
SHA256 abc689307cf34d3dcc94d43815f64e2265469b50ecce6c903a3180589666fb36
MD5 a07d0c8e4fd42d42dd0217667e897335
BLAKE2b-256 edb34bc2585aa8271d5b2bc5ae36895db2c8a53a453b26318f2dab907afc32aa

See more details on using hashes here.

File details

Details for the file pyopencl-2020.3.1-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2020.3.1-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 736.0 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.9

File hashes

Hashes for pyopencl-2020.3.1-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 19703da491206f697cfcff13491f12e8e044fe7e79b177272d2cb07ae4c3d1ad
MD5 df5d75670e880e03f4fc57a282532565
BLAKE2b-256 599b1b69a2a6db6ca24bd30b01163efc5aaef698ba15237b59b6338f975710ff

See more details on using hashes here.

File details

Details for the file pyopencl-2020.3.1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2020.3.1-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 737.9 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.9

File hashes

Hashes for pyopencl-2020.3.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ab9e8f9f2fc9e8f795985225de47057e936b5d9bb61442d2a23f0ad7a38520a7
MD5 1b83591b8007c30b186f06ee360abc3f
BLAKE2b-256 3126f1f58e811aec891c6669cace27b5ea57c5a91da03f4700895bd98e479c95

See more details on using hashes here.

File details

Details for the file pyopencl-2020.3.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2020.3.1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 738.0 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.9

File hashes

Hashes for pyopencl-2020.3.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 121a4486af3a04d1e6fb739ffb92e1d1b5e689860984e3f58777d62e1f44aa67
MD5 d1d8d0f5180cbacbb5351b80abf7b70e
BLAKE2b-256 7a127d4171ecfaf61bafdc4a628263d086b8e75ff89f4ada5458ff1fd16d953c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page