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

Uploaded Source

Built Distributions

pyopencl-2024.2.7-cp312-cp312-win_amd64.whl (489.4 kB view details)

Uploaded CPython 3.12 Windows x86-64

pyopencl-2024.2.7-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.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (697.9 kB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.7-cp312-cp312-macosx_11_0_arm64.whl (442.4 kB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

pyopencl-2024.2.7-cp312-cp312-macosx_10_14_x86_64.whl (449.9 kB view details)

Uploaded CPython 3.12 macOS 10.14+ x86-64

pyopencl-2024.2.7-cp311-cp311-win_amd64.whl (488.8 kB view details)

Uploaded CPython 3.11 Windows x86-64

pyopencl-2024.2.7-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.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (698.0 kB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.7-cp311-cp311-macosx_11_0_arm64.whl (442.8 kB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

pyopencl-2024.2.7-cp311-cp311-macosx_10_14_x86_64.whl (450.4 kB view details)

Uploaded CPython 3.11 macOS 10.14+ x86-64

pyopencl-2024.2.7-cp310-cp310-win_amd64.whl (489.0 kB view details)

Uploaded CPython 3.10 Windows x86-64

pyopencl-2024.2.7-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.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (698.1 kB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.7-cp310-cp310-macosx_11_0_arm64.whl (443.0 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

pyopencl-2024.2.7-cp310-cp310-macosx_10_14_x86_64.whl (450.7 kB view details)

Uploaded CPython 3.10 macOS 10.14+ x86-64

pyopencl-2024.2.7-cp39-cp39-win_amd64.whl (489.4 kB view details)

Uploaded CPython 3.9 Windows x86-64

pyopencl-2024.2.7-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.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (698.4 kB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.7-cp39-cp39-macosx_11_0_arm64.whl (443.2 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

pyopencl-2024.2.7-cp39-cp39-macosx_10_14_x86_64.whl (451.0 kB view details)

Uploaded CPython 3.9 macOS 10.14+ x86-64

pyopencl-2024.2.7-cp38-cp38-win_amd64.whl (489.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

pyopencl-2024.2.7-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.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (698.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pyopencl-2024.2.7-cp38-cp38-macosx_11_0_arm64.whl (442.4 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

pyopencl-2024.2.7-cp38-cp38-macosx_10_14_x86_64.whl (450.0 kB view details)

Uploaded CPython 3.8 macOS 10.14+ x86-64

File details

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

File metadata

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

File hashes

Hashes for pyopencl-2024.2.7.tar.gz
Algorithm Hash digest
SHA256 6ae4458a959b6ad9c138fb711a52c4d57c2c2f798eb3aecc4c26830cb2726140
MD5 24f0d868343c603024225148f490cc3e
BLAKE2b-256 9268a26269be1ba101b740a7b47d81032cf71c50a8700cc71ab2c49f0fcccec9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 59565d08cb03e03e6c63582dba849472846254465ba8ae532ff87aec0c41f4ea
MD5 a4b8d49b34b397e1c23bae60f2c95ac2
BLAKE2b-256 68272078a4990e45e29b1fb09feb8ec0310e965ef0333e59174882107a813a1e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 69f58764bcde9d7c9a48aaabf831fcc0e8e54f5cc3ebf1806f392bb56f8c6d6d
MD5 63e5f71c17451ecca9fa0c935315b9e8
BLAKE2b-256 676c88b9d848f9b50bdc27c534efc8636b82f92a4d34b282bbc5cd58329fe31f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 26dff4233a16f4809b236100902c58ac2b071a11955127b1798885ead739077b
MD5 80f226e6d5de9bb899afbc77829bd9eb
BLAKE2b-256 a9c15b42d9d23ddb7586a29df5c368071c3fd3078f7736d9c23d10a634cdf13a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d5e3542a2b9a05a1a689bcbddcec2b0535ac581b4d33a6a3a93c28c67bf661fe
MD5 141ca1cff8528994aa9fe43943a40cc4
BLAKE2b-256 f73d5b03e70e907a14fc5c127bcb77b021e06ec02a50503fe5d20bdbf6a76d10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 0666d9e1b90446db298e495e61ad4eb5a4bb336220ef00dce0bc3135006d2a16
MD5 4d4fcccea8052dad7e6338a5c0578e18
BLAKE2b-256 00373a35de98b4763421aa5c488e4c59cf02ae27cab205f4369f0549a87950cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 df1ee130db7f2d05335d2d540d01059bb2a0f5ad418172f70275237a627f3744
MD5 75cae1ba0e6834a40f8cb054621db322
BLAKE2b-256 84da4abd1f95de9d0ff5522a1dad3256d0e0bd6810ef70d9dc789aa6e42d1838

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d25a7493a76cf8974e5ddaded7ea6d990cf5a98d3dee692244ff169f85d1da73
MD5 18a7eb698c9f0afa8444e3aeac0f2146
BLAKE2b-256 c26eb8baa2a08aef4fe94345181e169b141d62695b08350bb3bc46eb084075b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8e891c16828d7702240429da667992639802407345e3b3d134054d06e006cb1e
MD5 8719ec83ed85604c457dbbf8d5f6259b
BLAKE2b-256 b2fee91597055c9d38e654f60a359db88848be8c5ea845a5b5199d312248ee81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a65049fa87b461fe35a28a35f63f33f7e8e5a9f2862c401a3dfaddf2597c6954
MD5 9305491d94e7ed2f1acc3ae81cf0b2ba
BLAKE2b-256 12fcdb5f1a1c4251b8bc7ece6e55664b84de30d5fc71f4d505b5974082e366b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 31cc3907adb4d88e4b2cc05270054598a4544ed59539547a7eba11bb2304ea17
MD5 869efd7490a7e881effa6233eb521c47
BLAKE2b-256 042b0c830171d30de73c76a3ff92989959278d88d50e50e03b1ce5f1ffb04169

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 465c4bdb17daf11d3cd4ab4e5ba4f87e5b2c4d9c04071bacc608857fab57ad6c
MD5 c1ff6081692bc1f714510f6057c0d41e
BLAKE2b-256 22ed7d21fab83eea089ead361fa76ed788eb371c79299d5ee030bfa9ae231a51

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 49a899205d7aa8d03a03578f7f7b3b8355a5bbddc530fc58ed7a84ed8217f8df
MD5 bee060b14380f2ea77e0bc155c72587a
BLAKE2b-256 234cc20942a7e2a597421be5e7adeb3d2c65697ecba6b7577e309b6d25a14ed8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e5876a32fc0a2c38e8a2eeb714eb7cb8720b04a20f49bb23274eb600a4390ac
MD5 38346c1868ebe9b30a18ad167b3786d0
BLAKE2b-256 c33b408eea99dc5733e2546387882f827c272dba8493e1d8dfb0ed38533ad336

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f74df6a07f46bfd213af5827a3c82edeab1d43413df28b0da4b44a923986ab0
MD5 3d6c371e9292decfe0cb392e92e63725
BLAKE2b-256 d79db7c5008f85b3cf55ec87c491df4968057de6d25214e7966fde24dc34699d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 6ad2524b2e411fd5e0357278db18cc24d65535557a377500b6de915ebc4666bd
MD5 06f585a42ec9fb5804375f14b225ed0f
BLAKE2b-256 df7f2aa3f9edc4e6ac47f4bc16d31b15b26b7ccf1c846f58f4e856d4642d4091

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b0b6706c4e0ad87e90d2a2d3491632e64dab8d1f493ca96b3afb4c65e696cec8
MD5 24daf31514422e01466774ccb1bbefa0
BLAKE2b-256 8daf2825d560e22236f9a55add0eea2782d024ad8f7ec4f4abfd1f6048b38ec4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e08d60e2f229ac9deda90edb38c491a5d58b38dac4d7e36d19e9f11e3f7c81cf
MD5 5689ca5d41b150c94aec08cf96687ac1
BLAKE2b-256 f9194f9b60f4fab1c9a0b8d9f3554f30cd25827c94b2e0849467593d00b9e4dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40ccd4321bb506b3042e00646cb3040216dd9148e97f5ed2445b741536cf373d
MD5 5306aef8ff71016132512132b543ea2a
BLAKE2b-256 fef2c589895e159dcb693c9662b368378c79880b64eca78d8f27aaa50a337c3e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3fe5c9b6cfe380256c97e80b56410ea47be8c770c88b6732f7f50f05714073d6
MD5 c318fb28330499c4d3796b199349d8cd
BLAKE2b-256 be52b09fd67764342725031ae3a2e14c0d0c46b04182088c28b586f684176fbd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp39-cp39-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 b1aaf0ad28092ff42677dffb07c9112ef91bee58efa231131a50ab298a9f07df
MD5 d745180effa376959cec9bdf566e0c59
BLAKE2b-256 f59d208e44e9fa88a0e88a24c00a4752b26a6b98d33cd709da93f546b1a1567f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 29ca194f6cb6c1ef373fc62eff6dd57e457c5f62a00cd3fb3059513b7e615000
MD5 8ea6ea6689cda1130e265184bc6c91d9
BLAKE2b-256 ea16b148cd0dedd1916fe5837dcd653817bf189d53d0fd133b9ec1f4e3974def

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 38955c210cfc7f2bf7e94dcee505a233a6256c0812ef3f2b80d16bb644b70d21
MD5 9c2f265cf3752b76464988226ca8b5b3
BLAKE2b-256 0944f07c416552370a8d3e4770aa0d995343f04bb24568f80b8372cd3c0ee7e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21fcfff2bd54c04b0cf40c478d6883a912ebd2ab28d6881298f5031f11c4fea1
MD5 3e10d0005553d5a27b68614b634a762e
BLAKE2b-256 bf7008be160355597d2f0e4d6cb7437f9b645c2f15868ba99aba65aa0216594e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 94c9693498c2eb84d26557a692cc03bcdb77d458b9a8c8eedf1c2aa128f826d6
MD5 83d1c14f40b7eaa9d3c64b0e58e48f58
BLAKE2b-256 aca0f6640fc13d78070b3a5b7ae03ab1bea00cd460432c128100e953c36e3afb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyopencl-2024.2.7-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 5b466b17b9a268c0e5de80dfb05355d517c16988a4e4a802b3afbe142464a128
MD5 1de66ac09090100ebe80d576dad149a9
BLAKE2b-256 82d49ed65bdf5fa4b529f8a5847e46d99b1d71c7a2e8003266709130e994670f

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