Skip to main content

Python wrapper for OpenCL

Project description

Gitlab Build Status Github Build Status Python Package Index Release Page Zenodo DOI for latest release

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:

  • g++/clang new enough to be compatible with nanobind (specifically, full support of C++17 is needed)

  • 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-2024.2.5.tar.gz (470.9 kB view details)

Uploaded Source

Built Distributions

pyopencl-2024.2.5-cp312-cp312-win_amd64.whl (489.2 kB view details)

Uploaded CPython 3.12 Windows x86-64

pyopencl-2024.2.5-cp312-cp312-musllinux_1_1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (697.7 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.5-cp312-cp312-macosx_11_0_arm64.whl (440.5 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyopencl-2024.2.5-cp312-cp312-macosx_10_14_x86_64.whl (447.3 kB view details)

Uploaded CPython 3.12 macOS 10.14+ x86-64

pyopencl-2024.2.5-cp311-cp311-win_amd64.whl (488.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyopencl-2024.2.5-cp311-cp311-musllinux_1_1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (697.7 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.5-cp311-cp311-macosx_11_0_arm64.whl (440.3 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyopencl-2024.2.5-cp311-cp311-macosx_10_14_x86_64.whl (447.7 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

pyopencl-2024.2.5-cp310-cp310-win_amd64.whl (488.8 kB view details)

Uploaded CPython 3.10 Windows x86-64

pyopencl-2024.2.5-cp310-cp310-musllinux_1_1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (697.9 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.5-cp310-cp310-macosx_11_0_arm64.whl (440.5 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyopencl-2024.2.5-cp310-cp310-macosx_10_14_x86_64.whl (448.0 kB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

pyopencl-2024.2.5-cp39-cp39-win_amd64.whl (489.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyopencl-2024.2.5-cp39-cp39-musllinux_1_1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (698.2 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.5-cp39-cp39-macosx_11_0_arm64.whl (440.6 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pyopencl-2024.2.5-cp39-cp39-macosx_10_14_x86_64.whl (448.2 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

pyopencl-2024.2.5-cp38-cp38-win_amd64.whl (488.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

pyopencl-2024.2.5-cp38-cp38-musllinux_1_1_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (698.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.5-cp38-cp38-macosx_11_0_arm64.whl (440.0 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pyopencl-2024.2.5-cp38-cp38-macosx_10_14_x86_64.whl (447.5 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: pyopencl-2024.2.5.tar.gz
  • Upload date:
  • Size: 470.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for pyopencl-2024.2.5.tar.gz
Algorithm Hash digest
SHA256 788f7bb9a94f992fb747a7098a011f86c520323f194701948e2834371b9b3267
MD5 2dddd221dcc239b06594ac7c39013759
BLAKE2b-256 bc723a7561cfce737811b3789a2c4f61f68aef4aebfbeae22e3157ab998d3a94

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d3c2e0207a1e555dfb63ea83c63687afc069e07a97c78a535a953a0d8ad32e4a
MD5 49c8d55b872f3ed7ffd73f05fe21cc25
BLAKE2b-256 1ff67876c1e94038de8650ae571254d54d2dffa5263cdc0c82b94e024458c202

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 193b31b2138eb90e3057922b8b53a7aebf2ba4c9cafaae0ba6a766324be00f69
MD5 917bfc23741831f868cb4bfaff82419d
BLAKE2b-256 66fe4f37e67ee66a2d1f0ff4ac2ff73d2bf5eafe629629fb8bf87dd40bdf8d84

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 882e5f7983254766f24983451ac552fd696584c011a59a93e118e25af63ebb6d
MD5 1e2578d5dd183131d652af389b766d01
BLAKE2b-256 81800232bbb3e5e01150d796305765b897e1241df111b60fcb5ed8ce7fdc3cea

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 27fb24bb5be13a59795ac0f430adf627bd57d7d32540cfe3ea75c61d9a5f0da7
MD5 f5017095e1e366bb8d6d4b4eaaf31c8f
BLAKE2b-256 0476722698af7072b47e1a3429f50360b53946020b28d5fbfa55146bdc60303b

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 014a34d087563d12105c37ac454d7bc55cda3c7343bd04747d885f3d4a073211
MD5 2b114eee01bb1df7b6dc296f35ab0a2c
BLAKE2b-256 9f0cb0e150c3be78cf9bdac4c436e8ba439b4c70d406fde59d0a41f7f175f30f

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9fc267529a99c78da65fe417105a3339d2cdc2462c7408807dc0c341a42062db
MD5 07b7d0616a29c48d80f8527e7a8a4946
BLAKE2b-256 ab57618719ac98969d247939ac04d67a511074f1ae46de468a41bd3d078d043c

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 74bfff7b91a8d690c3a826a25b1402d617a71647c2647b123a5ad8067c7962d2
MD5 72b42fc0fd4328241738541fe88b1418
BLAKE2b-256 5946f0d9c53e85895d537d005978e830db6e1a5845402483d2c2466fd30887cb

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c00a27d10e5ee046a3a6ec0135754f58b57fd91915b230fd21eccda2c3af449c
MD5 a4a9e8d4274cd691df25479137ddd16c
BLAKE2b-256 03e0dd5661e830da942cdc06a5b838eb46863272503d322e84e4a880d002877a

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5b21bcb5036464bd6608087109d821f41603f0cb7d786e7292e55e86ad1fc841
MD5 9835f89adda22340056f3d14944deff4
BLAKE2b-256 ec80684324e4d18e4634e001dba990ffa31b5614acbc068be56e6128abeb6242

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 7fde2b07e8c42ce887b83345493ab76971cdc2cffd7317853fe869d1ea076129
MD5 70576b520e632f122ed95e75ac545339
BLAKE2b-256 916d19fd1bc45b638e2af52df78f6a367362589e21bb5535b3e9d942a2e1bbe2

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 03af670c7e685397ef50bfe3c54214345641fcb864f8a9b7ecf9814d890c68dd
MD5 90cd9607e9866f037491880c015261dd
BLAKE2b-256 c275309e5f98cc50732515d3ed7f7b54e444eb8a714567296e52226b6e16beaf

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a447456075bff9336d88880d9ea65c75649b075878e79d39592f5702bf630eb1
MD5 75121b0c933569760a2ec52b921e6d21
BLAKE2b-256 913597c7b5606c78373c5a9df186f6dbd30870657179d70560f21d3844dd4d94

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 016a67c27152376143b7ab275a313b073822453e4f5a663369852cbd4d43f648
MD5 1c9cd7700252613fdd05d107c81ee3ed
BLAKE2b-256 38473a835cd5ae2f8f1cdf5e7a11211430f397d30176c831e448d1fdd1d9738d

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81c9f55060e4394a64275df655cb626a0eef6ee2cb1e5265b5eb9ff16b54159d
MD5 d3db86c78bf8ef0240a013ec789273ca
BLAKE2b-256 64fd0077af968e1747583774238bd954a87282bddc745108f93454f4620cf1f4

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2d5e526ebeb14e633fd5d9845a773c62b3c3b512a1d45963b440e26057a0135d
MD5 4f53e9f6c2750edaa270e56e25fa32a9
BLAKE2b-256 af6bcd9a51523ba3631be9e09079fd37c72a505a9a3ff9729f320608be94a054

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 967139cfbf57af833918997865a0bb6df76be935c9f30f810b1659ceed6027ba
MD5 72899c3a13c2de7019f7a15ca3943b57
BLAKE2b-256 06a8c011394868c9041759745723b989744b41bd5d8bb71703f55292c898203d

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 993960cd07948555678566ab8abeae4c13f14a27a605095723d4c29f0d33e301
MD5 3a725b2f01f9e0b80a5f9de78691b7ea
BLAKE2b-256 19bc833ab34ccb8974c8efe31027557f26e8d2195f63442683f9855906ef9fff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 128294d2d58171fbf6d3232370f80cf824f57276601e76d7f7c18311d87a2643
MD5 abaac0c7511a03d110a9752387a0fbd1
BLAKE2b-256 055ae395baacda9d60041cb49c25cf8ec240650eb07eb2949b56c857cad32d78

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a3886c76edc634a405a8e48484b7646b6a3cd348a9d4f386f59bc579b58cf52
MD5 4fc84893174677568a29c90f30946e63
BLAKE2b-256 6d49ac1655724ecf6b6380297697c2fcda565b79f90db7dc913cc8f0bd3607b2

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp39-cp39-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 87ce36e93e094aef297ddb7891a82bca1fce0365ca5e8d981121697115d2c1b1
MD5 f798014840118af4e9a5882aad461201
BLAKE2b-256 99c8e119ddf97b60657af29531e668afc7b44cb08be06e75f8ca05e949d2ab67

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 0588829ab6b2c94d123c40f3fc8e2febdf7ab7aa147a492c002096b226138d2c
MD5 48c739026f23fbdf750d0dd48cfb4bee
BLAKE2b-256 8f54548ec3bb5cefbbb1c45c363dcdd7f1f1268361a502e85a41563392eee909

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 c11477416f5248e59b81dc87b4377d7c36fd355324386170cd3c4e01664127e1
MD5 08853198cd8bc9621a4cc8dd5e9f7779
BLAKE2b-256 c0e7539618ee8c6d49e7c485aec6f74cb1329ef984ec1680c6003d721d4cb20e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cf5ae3ce543f3c896bc56fef35f355a2537528c59f3fce02c7c6a15aafda486b
MD5 2548609cb915d0fae6a5714409efa182
BLAKE2b-256 88264d7e3c5b7e3eec8dae6acb136a671134d816956c4a868e82bb3df7a85253

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0a0c010168043bebb51e193c33490460f36ad6c6fec124c148e18379b3f43f4e
MD5 f403adc0bff0c155705214b27516829e
BLAKE2b-256 e661a0dab1108b052744bb59618d71417a43d46db4ad6d93b4aedb5217a3e556

See more details on using hashes here.

File details

Details for the file pyopencl-2024.2.5-cp38-cp38-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.2.5-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 525d407072decbcdc7f93c0c4ad33ba6f0991a16789de155a152b630d1fcf96d
MD5 a305d5b81ed2b18cc5d9b0c1cdf0164a
BLAKE2b-256 69722a1cd3e43f440cb82893644e88ab8fbef1430fc3429c8958e2c90aaad64c

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