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

Uploaded Source

Built Distributions

pyopencl-2024.2.2-cp312-cp312-win_amd64.whl (758.3 kB view details)

Uploaded CPython 3.12 Windows x86-64

pyopencl-2024.2.2-cp312-cp312-musllinux_1_1_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (960.3 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.2-cp312-cp312-macosx_11_0_arm64.whl (707.5 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyopencl-2024.2.2-cp312-cp312-macosx_10_14_x86_64.whl (715.5 kB view details)

Uploaded CPython 3.12 macOS 10.14+ x86-64

pyopencl-2024.2.2-cp311-cp311-win_amd64.whl (758.2 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyopencl-2024.2.2-cp311-cp311-musllinux_1_1_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (960.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.2-cp311-cp311-macosx_11_0_arm64.whl (707.1 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyopencl-2024.2.2-cp311-cp311-macosx_10_14_x86_64.whl (715.0 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

pyopencl-2024.2.2-cp310-cp310-win_amd64.whl (758.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

pyopencl-2024.2.2-cp310-cp310-musllinux_1_1_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (960.8 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.2-cp310-cp310-macosx_11_0_arm64.whl (707.3 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyopencl-2024.2.2-cp310-cp310-macosx_10_14_x86_64.whl (715.2 kB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

pyopencl-2024.2.2-cp39-cp39-win_amd64.whl (758.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyopencl-2024.2.2-cp39-cp39-musllinux_1_1_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (961.0 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.2-cp39-cp39-macosx_11_0_arm64.whl (707.5 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pyopencl-2024.2.2-cp39-cp39-macosx_10_14_x86_64.whl (715.4 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

pyopencl-2024.2.2-cp38-cp38-win_amd64.whl (758.7 kB view details)

Uploaded CPython 3.8 Windows x86-64

pyopencl-2024.2.2-cp38-cp38-musllinux_1_1_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

pyopencl-2024.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (960.9 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.2-cp38-cp38-macosx_11_0_arm64.whl (707.1 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pyopencl-2024.2.2-cp38-cp38-macosx_10_14_x86_64.whl (715.0 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: pyopencl-2024.2.2.tar.gz
  • Upload date:
  • Size: 465.1 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.2.tar.gz
Algorithm Hash digest
SHA256 be6f6535de310a3166e4a8fb606a615b7cf3412cdb05353127ac194cf852f4c0
MD5 f6da74b0d205b93212b616c5fae228e3
BLAKE2b-256 a329b30e9fe01230cab711da6a7e71816238d10355c261f612d7c9e0a93b3f0d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2cf8c48bd05c561997bc1c905111e4664c0954186ac92bd678f78d8bff378fa0
MD5 3efb0e56602c1931f3143bd1aea5bbe6
BLAKE2b-256 620c01a2579aa264c16440bc1d68b2845c49a5cebef8fa2b08b0638d053b25b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 75bcb11dc30df41002b641936c793be97cfa8d95fa7c2860357fd52a60803398
MD5 2f23a2f391dc03bd757503c3f018797a
BLAKE2b-256 8cf86cf24fcbef83d317029b0088024d20900590a8fb8055b81f914a2a195dca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d8d496a1e9c0654c89e05acfddaeba4b49dd3485d0e19af97b934d4b7d0241a
MD5 29dc0082f768e1c19694f73b9a4fdc32
BLAKE2b-256 15b421a1ee17a68379d1bba147118e425e15251ce6722fe2c599571f74f685cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 81221cf0af4778cf6e5740697dee2c0608c961376c901ec8228e52f01a86badf
MD5 6f09ffa74be1b71fee03c278c08399cd
BLAKE2b-256 9e1ff3b38dd87078c83a5373785f54d63fab1db9a6b6da3fa014cd7b607525c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 9215d5d7286112523728b2569e64732137a08b1e3aa211def368584d5a181dd2
MD5 4bd1a31f1279305e0a41f07d20326127
BLAKE2b-256 a8a68d8d2f1f93b99370f3319d48a92be15341bddddb7b643fee1ae9a18a1238

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d30715aa7b70cf091d93ff6e5221a9d3ac7b1384672d523151949885e77d9baa
MD5 c75aa61a4907178c3c42db866a233c0f
BLAKE2b-256 03ce42ec190ded12a6c1e047d03bec926f258d054ecfac8c69ddc06f1f512a5c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e46ab782243223f6c9a0b671d4f8134fd32c66045caede75716bec613bc49e53
MD5 a142c5fe277365b02d819994afde979e
BLAKE2b-256 c50f6736a2fe7e665f3abb9cfc8c8b55129e84286cb389d8ea1c2ecb100ff28b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e07256f80d3b362939c715e288f5418ef964c493b29d89c2c4ae05d4d63f348b
MD5 f41d7069e92306c7c175938f930a8a4d
BLAKE2b-256 69212b29ed366c9e974762fd658f8a8d2149126c7649421b9c77389f0018894d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31f3d80abc994a084f63eb0dc1afa12b0266c8e24cb7477d0684dc46907ba816
MD5 8d78c5178a4a6e620cccc416c70ccb5d
BLAKE2b-256 753872a96f685acdb4b83f07cfcffba69a59bb5777789b7f46d7915ac0ff7535

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 12121754420c5ad93e4a7a1233e0d6f6ec504a9a698dcd2897d7869144821771
MD5 53cfd4945cc6ac68f5252227204159cb
BLAKE2b-256 7d58dfcf6110eef7e7bf2fee130bc02ae39bbb1ba40e8df114d1b11bdd78222b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5bde1457e21e8209fd639f246bce56238f5e115bc36c9dd00105c4293483b999
MD5 16f87bd04312f64c29660102014a0c9d
BLAKE2b-256 115abbcca10c48df18b7eb7aa5b263179e7e4c77e5867bb6133736885564edac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 a246b2a1036d635c79910b4819d7aa352af82ce8326328e4b831346eb2673e9a
MD5 649419b1603d83556f39c6c7dadbce1a
BLAKE2b-256 8b4b997dd27bf43a7f29a02a94990bd4ea7bdfc23c47d78dfe5cfcab71fbb126

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ba02048a85388fdba5e3be01d8fd274cbd3ac665eb963364b9a2d2b73ec40381
MD5 98c4e6ba667ccee05708f405e965f3f5
BLAKE2b-256 a26a15896cac295ae95410476176c9c6f813fd721fb989afbb88f7c6ee8d31e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 60bc5f5559fdf361b494fb83580384299cf1d708c78bea1daab86a984ee59f35
MD5 69f50188dae2610d952a3f939ccf7103
BLAKE2b-256 2843fbd5a2bfa55bddd6ebdcafdf057912f161d41968d457039e05bed0d92f81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 3cc76a86c9b7ada3d82b9f35c02c3b5ab9f23260708b5f2ceb1d63620524def9
MD5 fcc82dc66acf1923f4b0e1bbbd9e9d44
BLAKE2b-256 b0e4c9cd0538d500af9bacd0a39e2dcc723ff5173ec82f7b8b972c65a0329881

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 489a3083c9c1c2ace2a078b6b6355a0a2c22c4c1497eed4910e2f150ea4ac5c5
MD5 93ce8464015e2916081d6d392f4477f4
BLAKE2b-256 2abec09643acb258e67ac1de46f2f593deb91d98feb2da2db55475dd0601d8a2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 fd328d58596a6ec8bdc0851f3acae692aadd6c44379a619acae4e95b739842a1
MD5 ad4c02e9b5c29228e5097d1a54377caa
BLAKE2b-256 99302015dbbe495125ac1eb5ad5b85a0149e618cab7a0d1a13c6344438826cdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 31621740f51f6e4d43fc028454bc17e61aac22ca33b4eef0c3109c156058266b
MD5 71b665ac71f7714bdb3bcaa1f08785d7
BLAKE2b-256 135ad5945d8ee72bb67f0f4e8645d08af829283cea4f51bb2e5c505afe567b80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8982d64f7862a55be56d2cad0332b193f9f9ec5e0d27ac8f90b71281bf5c93e8
MD5 66edc8c7654bbe54e8e41cf37c6645cf
BLAKE2b-256 0ba64528ad385750cb8dd1a1321532011f47fcd9d369fcdb3fa9773e31252aba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 66999a3657fb9af7b17d69df3845bbbf921f46a56eab9da93c45e7120de2a6de
MD5 1a0f151a9d9084ad3d4cf562620f775d
BLAKE2b-256 32c256718172e0522f9036e2f143ae57df4c85e1822ad6c73f6040f1ed1e7913

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2be34785c291d657660105c6f5f00eb3fa25058339ab0abcd8d116aa1cbe1b57
MD5 fc37ddcf5b9d343c2de1f33e72c8120e
BLAKE2b-256 54278cb6bd06090930b16bbecb7cd049ad59d7abafa1dce86683b87da39423d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f4ce76d86f5785b81d8dcd2c3c1b2f9c417144994f7a4a37e9ee956197f00289
MD5 9846f906231c2be87774e39961e0050c
BLAKE2b-256 630728676c16728a85f16689f484e735e6315686e594bf73f1cd6c2740ec1eb1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f22258852c9416fd58c1ca2fff6b6f40280c34633a0bb846c777126006acd237
MD5 20fe60445dfd58c84b728b30929e7cf1
BLAKE2b-256 35722dc7f5a63b80050d4f9c63ce450762c0b26d993670b122a3ce87b1e327f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 373143a7b8aaa4a657b34f5ef7db0cb520e14060f6f03e19eb138b6925a897be
MD5 0ab4145dfa5d46ebd56e2946716aa3b7
BLAKE2b-256 31f56cda6cb6b6f484ddeb4b2c757d0d08a03945debd6f6280306010d2064a35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.2-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 139bf0369578cac8ed1b26503ae3cd8e1518fe1ec205f22e253a1e5869906c39
MD5 9f82414fca008b42b538b901f993f9bf
BLAKE2b-256 9dd68c84e512bfb69e0af80d1dd51b57c905b17a101803fe5dad058001016804

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