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.)

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

Uploaded Source

Built Distributions

pyopencl-2022.1.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (845.8 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyopencl-2022.1.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (837.6 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyopencl-2022.1.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (838.7 kB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

pyopencl-2022.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (867.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyopencl-2022.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (868.5 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyopencl-2022.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (867.5 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyopencl-2022.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (884.6 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

pyopencl-2022.1.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (883.7 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

File details

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

File metadata

  • Download URL: pyopencl-2022.1.3.tar.gz
  • Upload date:
  • Size: 453.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.4

File hashes

Hashes for pyopencl-2022.1.3.tar.gz
Algorithm Hash digest
SHA256 18386938b54855696460b4b19a210300f241a28eb3255748be5f279aef664d6d
MD5 003be1ac69783cb8a0a3abf223dac737
BLAKE2b-256 5fec7b6c9434dd7b6f563b1eb6ad7e9e782ee8b7ccad8381c62b0e4aa5300eae

See more details on using hashes here.

File details

Details for the file pyopencl-2022.1.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2022.1.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 828eb7fa5e6ce3a98ae0d2a230fd6f68a8f631a089fefff5c1583e8f05103129
MD5 c8d76dce12e73fe9df0ecdf4e2f23462
BLAKE2b-256 5b27e3aa06a10c0c4e07a881e60aa0f08b218dd5bbab721167314f9b5802d7e0

See more details on using hashes here.

File details

Details for the file pyopencl-2022.1.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2022.1.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 33ee0d0fb726c029a745f21c2619c3747da6d14d95500c02e1e97b38e4060a38
MD5 49b961d14d597c5ee01066f38e93b59e
BLAKE2b-256 85aadf398c9eef3cd7b48bd663d3f7f157b05dcf2f9a13404904efeaf115c28c

See more details on using hashes here.

File details

Details for the file pyopencl-2022.1.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2022.1.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0af2271c5b3d937290d2edb82c8cc0eca7916bb6321348b261454720bf2c9b8c
MD5 aed4056de9913ad8211ef64c6e2325ad
BLAKE2b-256 80fd3bbf02b0c2c4459d74b5de7c7c1c6acc5e0b7adfb0e4b4f07e21e8b34bbd

See more details on using hashes here.

File details

Details for the file pyopencl-2022.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2022.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 945d331dcbe2c868b32ceb0ad2ab245ecf943f5daa33eca04c88988c0e50cf65
MD5 38fb138e46a03545d38096b548ac84d9
BLAKE2b-256 8d0a30c4bb161c8637a4c937909f73b26cfeb8c07bcc6d8f0c9073b90100318c

See more details on using hashes here.

File details

Details for the file pyopencl-2022.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2022.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 acd3c817b61058c6056dc67738063dbb021db1fea995c9d5426fb325e58e9ce6
MD5 3db351bad0c0f9375182a896c9e61dd0
BLAKE2b-256 91ae90272b9d974d681e5764e4af92a3e91ff6e4214d4f7e3a519a542ffc2cd5

See more details on using hashes here.

File details

Details for the file pyopencl-2022.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2022.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b7daa78caa3ef2ff592c01b4cd9a354ad91218a45da1bdfbb59fca4ea3fb209
MD5 f840b1a6446e005c4d4914a510bdcc32
BLAKE2b-256 20bf23dd770df8326b22d5e8b9ae2d55108b915f2c550ab9ec4e01d6a74383a3

See more details on using hashes here.

File details

Details for the file pyopencl-2022.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2022.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32fb3e320ab22afa1680d7cc4f2269fa8a83decc7de286533f466188260d3910
MD5 78080563ae56a2a116d1bdfc911ae276
BLAKE2b-256 4a04df5de523e821bff5b083d409d67a04b2c6c9f2b47fa81e971163055d7abb

See more details on using hashes here.

File details

Details for the file pyopencl-2022.1.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2022.1.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 439374ca364d00e0a93ee9656d4da1d5ce57616350a6433efb981a174d583b24
MD5 a25c5d34d74a5a7d5d6791254bb094ec
BLAKE2b-256 6805599a4a54c3723f23189d99c4be101465fd7e3fbaad2c199123b5a5154316

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