Skip to main content

Python wrapper for OpenCL

Project description

PyOpenCL: Pythonic Access to OpenCL, with Arrays and Algorithms
---------------------------------------------------------------

.. image:: https://gitlab.tiker.net/inducer/pyopencl/badges/master/pipeline.svg
:target: https://gitlab.tiker.net/inducer/pyopencl/commits/master
.. image:: https://badge.fury.io/py/pyopencl.png
:target: http://pypi.python.org/pypi/pyopencl
(Also: `Travis CI <https://travis-ci.org/inducer/pyopencl/builds>`_ to build binary wheels for releases, see `#264 <https://github.com/inducer/pyopencl/pull/264>`_)

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 <http://mathema.tician.de/software/pycuda>`_:

* Object cleanup tied to lifetime of objects. This idiom, often
called
`RAII <http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization>`_
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 <http://documen.tician.de/pyopencl>`_
as well as a `Wiki <http://wiki.tiker.net/PyOpenCL>`_.

* Liberal license. PyOpenCL is open-source under the
`MIT license <http://en.wikipedia.org/wiki/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 <https://documen.tician.de/pyopencl/misc.html#installation>`_
using Conda on Linux and macOS (that also install a working OpenCL implementation!)
can be found in the `documentation <https://documen.tician.de/pyopencl/>`_.

What you'll need if you do *not* want to use the convenient instructions above and
instead build from source:

* gcc/g++ new enough to be compatible with pybind11
(see their `FAQ <https://pybind11.readthedocs.io/en/stable/faq.html>`_)
* `numpy <http://numpy.org>`_, and
* an OpenCL implementation. (See this `howto <http://wiki.tiker.net/OpenCLHowTo>`_ for how to get one.)

Places on the web related to PyOpenCL:

* `Python package index <http://pypi.python.org/pypi/pyopencl>`_ (download releases)

* `Documentation <http://documen.tician.de/pyopencl>`_ (read how things work)
* `Conda Forge <https://anaconda.org/conda-forge/pyopencl>`_ (download binary packages for Linux, macOS, Windows)
* `C. Gohlke's Windows binaries <http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopencl>`_ (download Windows binaries)
* `Github <http://github.com/inducer/pyopencl>`_ (get latest source code, file bugs)
* `Wiki <http://wiki.tiker.net/PyOpenCL>`_ (read installation tips, get examples, read FAQ)

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

Uploaded Source

Built Distributions

pyopencl-2018.2.5-cp37-cp37m-manylinux1_x86_64.whl (723.2 kB view details)

Uploaded CPython 3.7m

pyopencl-2018.2.5-cp37-cp37m-manylinux1_i686.whl (694.5 kB view details)

Uploaded CPython 3.7m

pyopencl-2018.2.5-cp36-cp36m-manylinux1_x86_64.whl (723.1 kB view details)

Uploaded CPython 3.6m

pyopencl-2018.2.5-cp36-cp36m-manylinux1_i686.whl (694.7 kB view details)

Uploaded CPython 3.6m

pyopencl-2018.2.5-cp35-cp35m-manylinux1_x86_64.whl (723.1 kB view details)

Uploaded CPython 3.5m

pyopencl-2018.2.5-cp35-cp35m-manylinux1_i686.whl (694.7 kB view details)

Uploaded CPython 3.5m

pyopencl-2018.2.5-cp34-cp34m-manylinux1_x86_64.whl (723.0 kB view details)

Uploaded CPython 3.4m

pyopencl-2018.2.5-cp34-cp34m-manylinux1_i686.whl (694.6 kB view details)

Uploaded CPython 3.4m

pyopencl-2018.2.5-cp27-cp27mu-manylinux1_x86_64.whl (722.5 kB view details)

Uploaded CPython 2.7mu

pyopencl-2018.2.5-cp27-cp27mu-manylinux1_i686.whl (694.3 kB view details)

Uploaded CPython 2.7mu

pyopencl-2018.2.5-cp27-cp27m-manylinux1_x86_64.whl (722.5 kB view details)

Uploaded CPython 2.7m

pyopencl-2018.2.5-cp27-cp27m-manylinux1_i686.whl (694.3 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

  • Download URL: pyopencl-2018.2.5.tar.gz
  • Upload date:
  • Size: 340.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for pyopencl-2018.2.5.tar.gz
Algorithm Hash digest
SHA256 d6e64a9d52dc6c5cc54690def9cd8aa300910e0270268a6ba3fed4c46333f1e1
MD5 94644bba5f965e7796d50478252af911
BLAKE2b-256 59c9faed1bd4bb9d928443b94d551e4973144157cbeaafa8d45a679495644eb8

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 723.2 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d44ae1b5682e06ca17c04d94640380c30b62af2c79993653856c306a4319e890
MD5 249bd5507b4514eac62935ac71fae1b8
BLAKE2b-256 1903b758845de2528c61bede6ee2b4a43448f7fc8f40fd6442219bb5514bc43c

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.5 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 22652bed018fef95409d7092d072ab0328be42e13eaa4849f2228c0e62a57a81
MD5 cfaffeb5389e729874bfc1907db5ef48
BLAKE2b-256 c17448cce85835500dd857ab678b63afb7ea5b1147b2bdbffef311fc61f13212

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 723.1 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ee5f7c38979cf531f425b357596d64749a912d6c8bfd08e0836499921d97600d
MD5 325991d185e6a2622af9ca9150b9be60
BLAKE2b-256 739dd61f89b1fa907ad6ae28a8199e5c55f96059ce53b9c88697757005c80769

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.7 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 13c60b8973f32d26d6217f3804f466c203b2039323c710bfcd069e0bedddbe42
MD5 333382729de433711d080d5355472904
BLAKE2b-256 ba71c7feeccf89ff8a4146ec0de2d6b7e145731cdb5897efb925e8109aca38e8

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 723.1 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 83648e76108fbe9b2bddde8d964a7d4fa023d78f0efb29140dc51e79c8050aac
MD5 290036d04b1a6705157f71d4bfba4549
BLAKE2b-256 66685d1570f6acfb3ca17c83b453b4009ae171d44908aad00a57870158c704b0

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp35-cp35m-manylinux1_i686.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.7 kB
  • Tags: CPython 3.5m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 ffb52864320f0198ce4c968ff22bda742d1bcb9c0a69ee17b50214cf834551dd
MD5 b14f1f5f2cb0d991f51c299f1bbf9841
BLAKE2b-256 33f8061e280eceb5c23d9aa9c6d72724d12f7f2d798912989b908b1e9dfce871

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 723.0 kB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d7b0576001c52188aa7e598ec041545a4d2515154b0cf76b53e378e2b479098e
MD5 ec9ea29138c6e6ba68704dc1b1172fbb
BLAKE2b-256 b7f5a8bb7d9874181b13217958995d7a27780a2bb467e926f2da71be71473b52

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp34-cp34m-manylinux1_i686.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp34-cp34m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.6 kB
  • Tags: CPython 3.4m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 9bf4b1c4f059365c0e3a76b41e3fc17060e04a748d28c47ca7e2af6ef6a29b54
MD5 7e1a8d0dc7581d0196461d5beaa07854
BLAKE2b-256 d59e75856fd13131b2a13a1a7a5e74bae13d73f6c3c4591f818e8e9374ad8827

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 722.5 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fe1088b0e67d2802d57c108d57a7abe90a029777f22f36ffb4e1afacdd4595d8
MD5 45c3d7e294ed1f14eb6540c53f9cc92c
BLAKE2b-256 7e1f137de28a88879dfbf9aaf0ffbd1cf3e8640a7b44060b272c5a3474c32975

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp27-cp27mu-manylinux1_i686.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp27-cp27mu-manylinux1_i686.whl
  • Upload date:
  • Size: 694.3 kB
  • Tags: CPython 2.7mu
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 68e58a60d5923d2006da39068307ba2989629eacb0a378dbbef3931b4554efeb
MD5 1207adef305b4b112424de8e264d8357
BLAKE2b-256 ba4726c169eba4665b72527f1fbd84262d523fff9dc2309ef5f2afc9fdaa3eae

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 722.5 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1b2e58dfb5a0923dc6b4f3c7bf8cfba2271147ae0efbc043e4328414ca83acce
MD5 bb9b4ba610e6aeb0e02444f879bb9973
BLAKE2b-256 0f589d8fdfd7fc3d4b3202164e7e750d2fdcae111d7072a52e3273c33f85e69b

See more details on using hashes here.

File details

Details for the file pyopencl-2018.2.5-cp27-cp27m-manylinux1_i686.whl.

File metadata

  • Download URL: pyopencl-2018.2.5-cp27-cp27m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.3 kB
  • Tags: CPython 2.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.5-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 f713580f477e25a981b88cad68159eba9f225c61d4ad699caf620ddebcfc226a
MD5 2df5a5890d04141b2b5bed1454523788
BLAKE2b-256 964499c354b31cc726cda9acfc24c294ba4b7d9c5f5a36e431d5b9e4e957aa24

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