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

Uploaded Source

Built Distributions

pyopencl-2024.3-cp312-cp312-win_amd64.whl (439.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

pyopencl-2024.3-cp312-cp312-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.12 musllinux: musl 1.2+ x86-64

pyopencl-2024.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (645.4 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyopencl-2024.3-cp312-cp312-macosx_11_0_arm64.whl (391.7 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyopencl-2024.3-cp312-cp312-macosx_10_14_x86_64.whl (399.8 kB view details)

Uploaded CPython 3.12 macOS 10.14+ x86-64

pyopencl-2024.3-cp311-cp311-win_amd64.whl (438.5 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyopencl-2024.3-cp311-cp311-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11 musllinux: musl 1.2+ x86-64

pyopencl-2024.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (645.6 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyopencl-2024.3-cp311-cp311-macosx_11_0_arm64.whl (392.0 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyopencl-2024.3-cp311-cp311-macosx_10_14_x86_64.whl (400.5 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

pyopencl-2024.3-cp310-cp310-win_amd64.whl (438.3 kB view details)

Uploaded CPython 3.10 Windows x86-64

pyopencl-2024.3-cp310-cp310-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.2+ x86-64

pyopencl-2024.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (645.4 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyopencl-2024.3-cp310-cp310-macosx_11_0_arm64.whl (391.5 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyopencl-2024.3-cp310-cp310-macosx_10_14_x86_64.whl (399.4 kB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

pyopencl-2024.3-cp39-cp39-win_amd64.whl (438.8 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyopencl-2024.3-cp39-cp39-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.2+ x86-64

pyopencl-2024.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (645.7 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyopencl-2024.3-cp39-cp39-macosx_11_0_arm64.whl (391.7 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pyopencl-2024.3-cp39-cp39-macosx_10_14_x86_64.whl (399.6 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

pyopencl-2024.3-cp38-cp38-win_amd64.whl (438.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

pyopencl-2024.3-cp38-cp38-musllinux_1_2_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.2+ x86-64

pyopencl-2024.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (644.8 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyopencl-2024.3-cp38-cp38-macosx_11_0_arm64.whl (390.5 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pyopencl-2024.3-cp38-cp38-macosx_10_14_x86_64.whl (398.2 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

File details

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

File metadata

  • Download URL: pyopencl-2024.3.tar.gz
  • Upload date:
  • Size: 422.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyopencl-2024.3.tar.gz
Algorithm Hash digest
SHA256 d5d08de9b0a6d85695caba1769aceae4e7661f06951c507bd1ce8fb7a89e2413
MD5 e11705c873ba20351d18772db8f58de9
BLAKE2b-256 ec284679ea08b84532a67fd2d270c8f87aec64dab9ab99e618927b6a26ea063e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9371b4ce4e4598c9098b3feca161a75d30c79ff4f508529dbb7f43b05b6aea22
MD5 db427a378c18ab9a0e7a053fb2872c19
BLAKE2b-256 841f00ad0646cef56723c2bcf5b5f186870991d5d36fa1d85fe940ff95af778f

See more details on using hashes here.

File details

Details for the file pyopencl-2024.3-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.3-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 873af3af4477a93c1cd640dcf7e55f53c6e5a8477ea86f1b4cc56171a6b56cc7
MD5 c65d9c8c45371f4e7cb8d59a601ce170
BLAKE2b-256 d4011c6e47417f88afbcccf0db81f88351cb105270b2252ef691f507fe3434cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7ff5badff3e274878034976d06cde70ac0cbef367239a14f1c461dad126adbf2
MD5 f381add96bbbb35c127cb6ed3cb61ce0
BLAKE2b-256 ad4eefe079bce9e6fcb32ab86b6c80d891414083c1c1fab38896786df08b64af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 92db9997ebb1845d2c83f232dc10381cbabf01791061bd470949d0f48eb2124c
MD5 25375f0af50cd7e82ce13a6a294a6982
BLAKE2b-256 274e5ec6fce9dfbb3e1d1c7ccea1855be4a38c47316566060d863afd9a5f91ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 2b3b950adcfe979ed9ad4373b3d0690b4b40c1a6fa711f1be1c33aebe3ceb163
MD5 3da9766f9e026e3e9eb5e942352a782a
BLAKE2b-256 1a3e53b3099ba2cf41f98eb8de8937cb618f52bc8b0643c8828f4e2ae1273c28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e0a2b9ce59044762a81b9dda626bd5f3a190ae1370e74cb8306972867113b0be
MD5 d024b934e44dfc7acc99433947009c01
BLAKE2b-256 47fa41825250a5eafa9ab8df8b6968597c9717897b8ec8c3d77fedb59ce2c88c

See more details on using hashes here.

File details

Details for the file pyopencl-2024.3-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.3-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7a032add510dd74e57d43211ea3555b2ca51205db69306e7097f0deba3036e04
MD5 adde622a8a1b2255255e48f90318fcbf
BLAKE2b-256 7ec818b5ec320ae345ea50e75c8e92c9b7aaf127199a901bb2208ba182630e99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1c05b833d0036b9ce10ccbadd0936c678eb050dbe575566d1be23d1a35d08ff1
MD5 2bdaba0a1498b04fa457a6830fff9d25
BLAKE2b-256 504a6cf11136834b552f58b221c262b12db684ff0d311f9546afa88b7a936dcb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 933b3be2e6145b8182e2706ed9586f5757a4f32bb48fb9a854e05c22e1fe7bab
MD5 013e844d5d9c1f61df5a952358beaa21
BLAKE2b-256 19f704f3bd9c289b2dee3932d83c8775bbd6649ca329776aadd1b69c0951aa0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 66a69879968c872e74fbbb8ff9f88cf51761146e1b2c5eef98743e14e3f58254
MD5 24afebaafa9f114e9255b5c370a6d0d0
BLAKE2b-256 966e1fd2b3613f2bbbded7d44ddb88c635b2122a7f2a43cb7b03e591ba4b7ee6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b4d47c23094df06d9d30aceb6b37d2df44cac18a0c78af43418cb141db2c8ff3
MD5 f45e2653cfabe1a44c00f3b4cd41d0e8
BLAKE2b-256 ac947a28f04c400ce1fe1c7439e8b153bcd72fa738922c11ef6b9cb25ddc6222

See more details on using hashes here.

File details

Details for the file pyopencl-2024.3-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.3-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c5a1cbcfc86feeeb3335d960579130710d8a72881d31f534e1193d87f4867372
MD5 de345275d54d3b190a5defb00a5c8674
BLAKE2b-256 9483ec374a8e0f107225924b1f2dd0dd6a4a7d394a2116981e4fd4809a19a323

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88220873f2603288578b663a9dfac79e0bab6951dd06b3580ad756c739e7cbac
MD5 77be85822b4ecd56822d68d542514c45
BLAKE2b-256 7025f9460f17b64afe93f6d8ab58f0aabaf26c6d9f0f23ae933610621bc72845

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 528b3e832bebb098aa64f51f9901e32292a5751eac57e946fe059f8b97d87182
MD5 76619c5f794dd8d0a8833d298b42adb7
BLAKE2b-256 aded771c4c22abcf78f12bd572cc578d492d10d4e02773b8b004d87caef0041b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 0bd68724e6a2be0c59265a50f33731283ffe43aa46e9fc377cc966519c0a5e5a
MD5 33049a166b3dc8f81247ff4ea867b45d
BLAKE2b-256 ef5f3be3c7104b584648f616bda180f0633410792e351e2516cde0fd17a18e1d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2024.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 438.8 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyopencl-2024.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 89d1152520aa268182b56ba7c6b510ccbbf93bc9f7aadd6e7005fce6f1561024
MD5 c93fd0e9ffb22a6b99062f58ae354b26
BLAKE2b-256 e2c88e6a522bf99850c26938c4728cffae4048a5ad820d4d4311760c63fef11d

See more details on using hashes here.

File details

Details for the file pyopencl-2024.3-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.3-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8d7d4cc5d55058281daf9153b12a76ad9f1241f43af406c17d1a596e386f8ab6
MD5 7bcd7cc3005bc9299832e74121c2112d
BLAKE2b-256 e7bfddae4f475fed69eaf560da9bda49953f622dd223a401c44e58bc3d1e7e82

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1fd5606d4e27e9c5a9b7b97b3f29150b95dfc280a0d977d44bd490fcc5ca8406
MD5 7a2c985a27efe2284172302befe14cef
BLAKE2b-256 33a6ea7d9adb85d86e074578beb15e2c9a1591bfb8d269dffe2548dc9e7848e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e88761f19d177a71e2764037d349af5eed754ada67a5b230258e09a4c8dafa86
MD5 00b81520356f8c51564f377b45ce2911
BLAKE2b-256 3673bbf1a3a0c2ea5d2d21d54d9895f5c5ec2001db076b937f217075876a5b0f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 daaeaab79dea272bc6cf55f0bad1d81ec9ef113fdbb2fcbb04bd0af53da74477
MD5 bc401ce97edac117c94953d9119338ee
BLAKE2b-256 86d1c7f5ee0613879dedeb8486b1ff117e895f83af154547e8f2545e0ff110f5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2024.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 438.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pyopencl-2024.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4bb650880906c0116b55c122fedd7046e22132174aa277f2fe4314a8687ca8fb
MD5 8911a4ab57053d6c590b7a08d63c36b9
BLAKE2b-256 028a1db385c1ad09f89187ea4b46273cd11dad5037dbef46e5f2c1caae130b05

See more details on using hashes here.

File details

Details for the file pyopencl-2024.3-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pyopencl-2024.3-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 89387f155e00e9f33c10c5b0a02d87f3c12ac6734e01eb50f1a9bce51535488e
MD5 80f131e7cdc76a724b883cb70453de30
BLAKE2b-256 b0c5b80f8b6f9066c90639aaf13ee08b44d496ee350174354960eac406e989bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9c1e9802afd684dc26c5115d43ac5b7480d162b613fb47e26b1ca428491579f0
MD5 de1a94994ee1d02fb57f4cca6cd7773f
BLAKE2b-256 c97ecc825c401a730d9ac96827cc0f63a5a923bc5b371ce11d229f3a268ac322

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14d5e5bf92fac091754496af1e4d79f3f3e6d8d01e0621fe69ebadd90cafbe78
MD5 6c9c1248a7ff7e7c115c59fc2d19e96c
BLAKE2b-256 8759259601c6c68bc890eb8a9017f828ed315c706490261fda0363654e511146

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.3-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c3d5d38a02b7467daa072fff4eac96362fe37deff2a08db3e34a6e31969d28f9
MD5 9aeac811bdb4e7fbde2a15218ec7a606
BLAKE2b-256 7d522f19d174830cb550ac1533212db31b7c52fae26cf883c5552103c7cf6110

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