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

Uploaded Source

Built Distributions

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

Uploaded CPython 3.12 Windows x86-64

pyopencl-2024.2.6-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.6-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.6-cp312-cp312-macosx_11_0_arm64.whl (440.5 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyopencl-2024.2.6-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.6-cp311-cp311-win_amd64.whl (488.6 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyopencl-2024.2.6-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.6-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.6-cp311-cp311-macosx_11_0_arm64.whl (440.3 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyopencl-2024.2.6-cp311-cp311-macosx_10_14_x86_64.whl (447.8 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

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

Uploaded CPython 3.10 Windows x86-64

pyopencl-2024.2.6-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.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (698.0 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyopencl-2024.2.6-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.6-cp39-cp39-win_amd64.whl (489.2 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyopencl-2024.2.6-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.6-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.6-cp39-cp39-macosx_11_0_arm64.whl (440.6 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pyopencl-2024.2.6-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.6-cp38-cp38-win_amd64.whl (488.9 kB view details)

Uploaded CPython 3.8 Windows x86-64

pyopencl-2024.2.6-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.6-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.6-cp38-cp38-macosx_11_0_arm64.whl (440.0 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pyopencl-2024.2.6-cp38-cp38-macosx_10_14_x86_64.whl (447.6 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyopencl-2024.2.6.tar.gz
Algorithm Hash digest
SHA256 ceb9beeef0b6162e601c05922fede29b5094554a66eb473c610cabc14308ba82
MD5 ea7ca56d40d9ebf74518bfdd48273a5e
BLAKE2b-256 5b5120082d9e8ce3e583c7f2f347053693def78367b009eba8e826d6376d1fa1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ff7ed484ea950022dcc5ee79fde3c9d9cf6312aa94e010ed462c011062428326
MD5 ee726ed63bff749fc908e1b58f15104f
BLAKE2b-256 5f80e3f391403486813aff4fd583070bdebf0ed5c3b48b8bd2590ae0926a7392

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 725a941be6be4377145f6b9a364221aae397c38b9d475086fa65401a34f39a82
MD5 212f4cc7cb99b16a6842e847f82e4764
BLAKE2b-256 488c51d019d6aa825e9be3db550a3c5be25d408ae8011c6b70c9c34b69f6a8ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 630f48ef777479f1c82b3ad9b3d208abeca2639828defe1c6da01f4d8c8b1ae5
MD5 1e9b86102fa8ef06087ef45fbeea7b66
BLAKE2b-256 aaf9a93082383350d818378072b390c8d1288209a000739454d04226b05048c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30cce55b34bc0a2a4955f3fd37baf34da3969296191f4cd602fd62e320611606
MD5 197c64a25d8751bddcba1ca650dab29f
BLAKE2b-256 79a6ccd867e8f30c7fbef30f1abef4e6223c2a079d69d3006acb75c2b3ed2b64

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 a3218b1eafcad4918532aa75f2c9dc0b3491bcf2b602edcdd6e3a4e45a72c68a
MD5 5b5dc0c3c9704db6a344858d28ace071
BLAKE2b-256 79917b680b58bfa49b1dfdd06806e6ea9bc2927782fab3141c6928df4bc64873

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a538e9551dfacf24f6270bddd581be21abdb1bfbcf64e1b5ba67ff29493ba23d
MD5 13f21cf69ff90141b161864d8c9a9439
BLAKE2b-256 d221b7257760ea9f0866a0d296afb249c0f5f1a6985ccefee85d5ad4c9a6b2e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 ad333bfca7f074dd0cf616358408ea69a605e3cab3fdc4d782bcf8c0a78c630a
MD5 d3caa336221ab8708c52fa55cd6159a0
BLAKE2b-256 6f81844f15f48c64d7e0541c6f9ab153187ccb20de3befd984f46f142af75dd5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb30fea4527db88e1c037712d4bf0bab44cfc2e38265925aaf6fc8c7efe79b9f
MD5 57f782f288117272808884fc52701aea
BLAKE2b-256 5e726416a7e952e80c5255809898868fee041d1a9ebcbb2371114fc90a821798

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4750fc441cc599b17c2c7a654420bb17a9818a02fd1541031a2cb9f867ecc6ef
MD5 378b587f26f1f7b0e10e6b7e3da362fa
BLAKE2b-256 996db6b37bf35c29827b529f0ca60a2a0ad407e9332f39abf463e2215cfe492e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 688bff1033fd21d420437986db04b8ab11543b23090c90da2963b4ed4fe94e82
MD5 2c69ab782dab1b2c100742fd293decba
BLAKE2b-256 7002c890751b20946bb637318281447c5f76e0645cac42312fc469fe3b07843f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 96912ca852ca590eb5334615a3d88017b164ef70ca5791605802f83144ffad3f
MD5 941a67f8e14d4002e9c8558425ab350d
BLAKE2b-256 c2cd49e42ac3087b63be6607e2bf1d327485e54e038ad8a20c6516c30b6a9b06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 355b17304784b484e127978bd5fde58c7758734991aa637b579fea4686055b85
MD5 933cc8ea0ba7960b24b3d5051b669bcc
BLAKE2b-256 e0a732b18fdf4cd6e9b4b4611567446725fd2d31e526b4bbf4d206f3321cc90e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f3e8c14ba292be4b9aef8c8f6011ab7344737239478e55076cc71e2f0d0b6a6a
MD5 6d648ea66ad4be2ad5bf191b8a81ec12
BLAKE2b-256 fb936e19688606b82fe6e7b8a60647871c98a2fffa2e9c2fa0c0dda1b2230322

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5c38d95bac4176e07865f8d750dee66958dced82ca22e3483898f2d43fcf13ae
MD5 4e5f521732d627eaf2f3f072dcafa72b
BLAKE2b-256 5056aa4974c49e037dd09084e526da3e12aa6f17d16dd785604c0b9b682141a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 bb114056d04613c6ba7f92de4c8daa545dbdcca15379a06367d5a3780cf5930d
MD5 fdc71f33c90ee639c4b737899b7d1471
BLAKE2b-256 af6b9b013f73537c99d9e90400a72a1e54b86e595967ba30d1c54b70fe248aea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 bb693a20b553453c7e3a2eb5f7a43e6d851644ba76a85ee8e185ece0ecf7933b
MD5 9a9c62d5cef9abfea5f4f0c0e245229d
BLAKE2b-256 406db5ddea9aeac5cdabb6589009695648183e3cee3fbbb8b4e52e22669dfaa5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 7f9be442abdfdfce5e1238aadfc23756ac2292dd081cd3d1a653d728397ede78
MD5 9a3180565c1f51b7691badb92e3951e6
BLAKE2b-256 65f7b762f8e601a1d1d0fde16530f917fe723cfe06a8b9a36b37c69bb19d716f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f86d5473c1a564f038f7298c2e176dd28b36610569cdac5d3e9ef02f604d2549
MD5 da91aac966e0c45ff0f043a8cdfc5fc5
BLAKE2b-256 26c4f2a9e0afa83519fd1d4a65a11b7d0900a4f5166d120d369c538d6549a02f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ac3d682d27203a5204769d5590164c482afa03b8434cec1f75d0cb805251c857
MD5 79d6daf3d2e84aa1a2cdf42aa9bc57ca
BLAKE2b-256 fee5c4081db4c965ea5c166eb956059b855f8299b165c5aed3d83842990b4c1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 fd06bf87b53b360a5b03ef9b31b730abadffdca5fbd6b6b78425cf3bf0883f90
MD5 5e7c5b3702dd25e1e3bf82f1398eea27
BLAKE2b-256 3046f1579f9135af6124979763f82c82510261d1b29b849728f006e1b82e05f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 554f529b04534ec80a71d10c41deacc26094b5095c5b850829a2717c86c024f6
MD5 b949c7746b6408a39e75907ffae28415
BLAKE2b-256 fd4325869aa9e6d30c1c406e7cadb36536abc0d3eaa87251bb0b691423fe5e45

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 114a2058dfaa70724f1cc5f985d2154e885819180e2f2e1c454d83c5a02d5593
MD5 89d794a5302b8777967832180948956c
BLAKE2b-256 255605840af7cdfc643fe9045b5367e36fc8122fe71c23d6fa19a5985641cce0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 175fad6fd79ec23d6822395d274838b42e06a3f4b4bb4f35bef4e9559b5f2767
MD5 330f162705c544f59d69030527c87831
BLAKE2b-256 af70957ef358c14d8329351fa05ef961e23f6cf0efc52cdd720ba6e122374df5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 743fdae7648f916826d3dda02df6c4627b6dc3a923b95e658abb53f451418f10
MD5 3471a75d8b32e2ef36e2cdff44987680
BLAKE2b-256 16d6c4518ffa7fc4820431d23519abb7064ab481f439f3a3bbbdb36eeab11927

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.6-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 bc491df0c62cf6d67bdac94bfd892ff4fceb5ec527efac096eeb84ae6cbcaae0
MD5 0e178c77b663cdf43ecb03255bbb0e88
BLAKE2b-256 d181e83fb5b09f4cf95fe9961f7d955026d396155253fb70ea17769b957cde8e

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