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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pyopencl-2018.2.4-cp37-cp37m-manylinux1_x86_64.whl (722.6 kB view details)

Uploaded CPython 3.7m

pyopencl-2018.2.4-cp37-cp37m-manylinux1_i686.whl (694.1 kB view details)

Uploaded CPython 3.7m

pyopencl-2018.2.4-cp36-cp36m-manylinux1_x86_64.whl (722.5 kB view details)

Uploaded CPython 3.6m

pyopencl-2018.2.4-cp36-cp36m-manylinux1_i686.whl (694.2 kB view details)

Uploaded CPython 3.6m

pyopencl-2018.2.4-cp35-cp35m-manylinux1_x86_64.whl (722.5 kB view details)

Uploaded CPython 3.5m

pyopencl-2018.2.4-cp35-cp35m-manylinux1_i686.whl (694.2 kB view details)

Uploaded CPython 3.5m

pyopencl-2018.2.4-cp34-cp34m-manylinux1_x86_64.whl (722.4 kB view details)

Uploaded CPython 3.4m

pyopencl-2018.2.4-cp34-cp34m-manylinux1_i686.whl (694.1 kB view details)

Uploaded CPython 3.4m

pyopencl-2018.2.4-cp27-cp27mu-manylinux1_x86_64.whl (721.9 kB view details)

Uploaded CPython 2.7mu

pyopencl-2018.2.4-cp27-cp27mu-manylinux1_i686.whl (693.9 kB view details)

Uploaded CPython 2.7mu

pyopencl-2018.2.4-cp27-cp27m-manylinux1_x86_64.whl (721.9 kB view details)

Uploaded CPython 2.7m

pyopencl-2018.2.4-cp27-cp27m-manylinux1_i686.whl (693.9 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 722.6 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f5f057d4d516f1cc8906e490d7a1161e45d40fd9bad703c0dea0bc8fa9c08c99
MD5 4bb6b5084c6dfb23b247fad7208c9988
BLAKE2b-256 24ce495e48dabe06298f406dbc1099a59207c451e128204a9b831b66ae04129a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.1 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 6abfe14bbcdef04c365cabfed14b197a3009bca1ac75b65f65264d4fcc274709
MD5 0b62a0c79b07252b5fb4f0c5e4073acd
BLAKE2b-256 3b09a92d2b55ee49485fa68c86a43a840d34eff6bcc1b057376b2daadbeb8457

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 722.5 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 149fa5c181ba2552fb86c04d5d1479a8b4074a9a858a21f8e20477d6a973a4d9
MD5 485709f74046c4a91a8d4ab7a7af1cae
BLAKE2b-256 0e1e4456929adcde9c6d75c6ab0b80542f55782c4a0b64f0c52e4c07d2246909

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.2 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 4a756675039ee7c33ae923a19a46e108307656404f81ebcc743dcd22b0d25e0a
MD5 37edad6f699874838d0a91b6be215bde
BLAKE2b-256 553a85e5e6e12bf642a426cb6c6aaa7345edfb687f146cf723cf2cae34839a39

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp35-cp35m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 722.5 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 800b7914d5a191b5641531684718d21f478c161be0e7bcdf4161df643b470140
MD5 1377e8c321b055d7fdf073151e4d5932
BLAKE2b-256 9a4086acc17b5700106c5b9895bc27dea398ed2bbafc3071c3cccdb9e5af01c9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp35-cp35m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.2 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 e3acba263b69bd7013d33b49d613694d34ee02753246228865865bfdecae9bb7
MD5 43a444dc68d3f341f1947c0bc4fe044e
BLAKE2b-256 33ea33e4ce8c00d96f7c4cbb53e0c1a6ec03cdbc239232072bf7649deed79031

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp34-cp34m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 722.4 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c00b387fb855c75ff9143f0fb62d89443a215f52ffedaf86c9ae9c3feb993171
MD5 da9e6a5c5f13fd56cd19b6c31162302c
BLAKE2b-256 a396071e51a8ca3670f7a4e6fe4a1c3b7c8801af61ea321f236cae575dc2b6e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp34-cp34m-manylinux1_i686.whl
  • Upload date:
  • Size: 694.1 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp34-cp34m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7bb92ce5128c9a88d614933fc360f03fad23173f8c6e705e191a66bc10f32257
MD5 5e684c77882277208bc270ade1625941
BLAKE2b-256 28fd51779f8fe41a8593345e10eecf1532d6195cce328bd58465216367de81df

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp27-cp27mu-manylinux1_x86_64.whl
  • Upload date:
  • Size: 721.9 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 1c6b49722e8c469f34f69c8fb535d575d2768b4c3d9eab89c0661fcce4ae2739
MD5 391a25bcb483604ea88b966125b45e15
BLAKE2b-256 6ecb140902dd5f348154b2f8d8fd1a395a8dc9aa43faa6ebb7aafce52fda5607

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp27-cp27mu-manylinux1_i686.whl
  • Upload date:
  • Size: 693.9 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp27-cp27mu-manylinux1_i686.whl
Algorithm Hash digest
SHA256 d31d657a0d8b27da75d27d2812cc4ebd87172fd5071c423362a3a4a7d27739f2
MD5 1a34d928520655e8ac1e3c49aee15d8b
BLAKE2b-256 55f340833e75bfca5bfc49326c70c8bb0601b8ee5d4eff8862ece792ee764047

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp27-cp27m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 721.9 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fe08c442fee155b6140ef377131feea1ae3d8ba90458c4d13880aa99ba207ae1
MD5 544cfdcb2ad5df290ccb62cc951f1581
BLAKE2b-256 f18b07ae8a69aed50911acaf01c3e0c10cfe68b801ad3f40915de67f54c46ef7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyopencl-2018.2.4-cp27-cp27m-manylinux1_i686.whl
  • Upload date:
  • Size: 693.9 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.7.3 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for pyopencl-2018.2.4-cp27-cp27m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 022b08e8ecce9e15cf7fbde262c7ab97670724109bcc2af4a388b247cc3f3778
MD5 f4f0f2e8dcde5f80d7851853dad515ef
BLAKE2b-256 1f4aeaaca606a7f91e0ebb46c8d6b2b6f9f3ab4d1ee4eb52302abec90e8b2b14

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