Skip to main content

Python wrapper for OpenCL

Project description

Gitlab Build Status Github Build Status Python Package Index Release Page

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-2021.1.4.tar.gz (447.1 kB view details)

Uploaded Source

Built Distributions

pyopencl-2021.1.4-cp39-cp39-manylinux2014_x86_64.whl (771.2 kB view details)

Uploaded CPython 3.9

pyopencl-2021.1.4-cp38-cp38-manylinux2014_x86_64.whl (769.5 kB view details)

Uploaded CPython 3.8

pyopencl-2021.1.4-cp37-cp37m-manylinux2014_x86_64.whl (788.2 kB view details)

Uploaded CPython 3.7m

pyopencl-2021.1.4-cp36-cp36m-manylinux2014_x86_64.whl (787.9 kB view details)

Uploaded CPython 3.6m

File details

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

File metadata

  • Download URL: pyopencl-2021.1.4.tar.gz
  • Upload date:
  • Size: 447.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.57.0 CPython/3.9.2

File hashes

Hashes for pyopencl-2021.1.4.tar.gz
Algorithm Hash digest
SHA256 6a9665e89c15e1c684789263bd3a632567e7c7bd25a657092df4b185b3468971
MD5 292f1e3347f788c06a48e4d77eee0c53
BLAKE2b-256 86544393d9fd363d35ac6946a572d87239c90978fa10cb8f8bb02f901cd61165

See more details on using hashes here.

File details

Details for the file pyopencl-2021.1.4-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pyopencl-2021.1.4-cp39-cp39-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 771.2 kB
  • Tags: CPython 3.9
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.9 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for pyopencl-2021.1.4-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 76af2e81972c7a43593ad08a356b27b4c0801371c5a5c2ad21f2447db7d6e05c
MD5 c1a5707e799eb5b28fd32891a2c2a46f
BLAKE2b-256 db280c7694fbe03aff5d79e47eacdd5b6241994403d06cc6f60d87d567eb553c

See more details on using hashes here.

File details

Details for the file pyopencl-2021.1.4-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pyopencl-2021.1.4-cp38-cp38-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 769.5 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.9 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for pyopencl-2021.1.4-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 03ac50ced5a2fb476b37923dabb1383dd0c2953a179370422a10fbb765de26fa
MD5 7e9980ee7419ef349601483589fd577d
BLAKE2b-256 353b38a551cad7d2055ef087a7e85a62fcb99f97b864bb76868b0fb16721a2b1

See more details on using hashes here.

File details

Details for the file pyopencl-2021.1.4-cp37-cp37m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pyopencl-2021.1.4-cp37-cp37m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 788.2 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.9 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for pyopencl-2021.1.4-cp37-cp37m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6611b1be672905c66e855ab52cfbc37a0efcd5c7ab7af7b8491096f389b868ed
MD5 7d83be4803432110fe56c64b3aa10aaf
BLAKE2b-256 122f19701e158d16127cbfb6ac8572212cfee27e20f8ebfdd4c62569d2d61da8

See more details on using hashes here.

File details

Details for the file pyopencl-2021.1.4-cp36-cp36m-manylinux2014_x86_64.whl.

File metadata

  • Download URL: pyopencl-2021.1.4-cp36-cp36m-manylinux2014_x86_64.whl
  • Upload date:
  • Size: 787.9 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.0 importlib_metadata/3.7.3 packaging/20.9 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for pyopencl-2021.1.4-cp36-cp36m-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 36b7d0ec274cd73dabc72a5e8a24346cda1c6e73d062712402fe19d684e6be1c
MD5 e52d7942a85a7ad1017a490897391da6
BLAKE2b-256 5bc97226f6a3fc3ed573c827abd69c1a5d3ae9ba23faeeecb72506fc4dc84064

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