Python wrapper for OpenCL
Project description
(Also: Travis CI to build binary wheels for releases, see #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:
- 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:
- gcc/g++ new enough to be compatible with pybind11 (see their FAQ)
- numpy, and
- an OpenCL implementation. (See this howto for how to get one.)
Places on the web related to PyOpenCL:
- Python package index (download releases)
- Documentation (read how things work)
- Conda Forge (download binary packages for Linux, macOS, Windows)
- C. Gohlke’s Windows binaries (download Windows binaries)
- Github (get latest source code, file bugs)
- Wiki (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-2019.1.tar.gz
(341.1 kB
view hashes)
Built Distributions
Close
Hashes for pyopencl-2019.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f4c401e474865d9d781442eb32a51af3c1508a42c16cf62b6f86b44952c9f4e |
|
MD5 | a4f27ce5e74b9b19295d8a6f32d04b6c |
|
BLAKE2-256 | 87ed4c4bdde4a6f19e19b5a6e12b9256e1500fa22b5398870d44d587c27f8a7e |
Close
Hashes for pyopencl-2019.1-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ce3891520c6dd3cad2babf7704df821c8d2c297c4098d3ae8bcde24a03aceb6 |
|
MD5 | 328281b9dbcb7f44178166c3a01e9517 |
|
BLAKE2-256 | 4cb1737bf103542f3fcd43d3dcbeed6906c1c4650f654f0f6477ad2e66839cea |
Close
Hashes for pyopencl-2019.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8364448e4663deae72f934ed01e651ce2448bfe82e6b483233fbc27806e40cf7 |
|
MD5 | 5a2d5f053acf9d15acb25670844b9f0d |
|
BLAKE2-256 | 3190f0483f948d29266989cbb086aaa20323bf15003a6a922cefe611e9742dd2 |
Close
Hashes for pyopencl-2019.1-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3889c366a137d99a5f88a9c86fd978f8f3597948441b910ec48fd18a6833592c |
|
MD5 | 98fc7699944321f3badf315e65c8e9df |
|
BLAKE2-256 | 8135c829e45960a0759869c5ec271a16b715287696ef09daf44e24f70d2dccdf |
Close
Hashes for pyopencl-2019.1-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa55af5da884ebf594036bd33e6278ed3ec98fbe1b316a133c8ba4ae7fd19b30 |
|
MD5 | 1b888f2fbc537eb10e73303edca41ed4 |
|
BLAKE2-256 | b08eae21b82277d0eca1506d169fa58e338e7c5b0eb88f8cf1257902646236a1 |
Close
Hashes for pyopencl-2019.1-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5066f102b849052a56ec1f7d4c0b2da01364209d880b54cf73e0ec7013dfc2f |
|
MD5 | 0ebcc3930cdb779cb08888916e75364a |
|
BLAKE2-256 | 9ab9cf170bf8be885e90355c75516a0a2f94db6a91f9937e1449be0e8515c4b8 |
Close
Hashes for pyopencl-2019.1-cp34-cp34m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8417c0814749d399e747c02debfb9cbbfe3673fbbc65c5e702b994ac240f67b3 |
|
MD5 | b212b2c0299656c537bfcfdbbc63047f |
|
BLAKE2-256 | 17c065c0244c03e049974a2a29a6615c4adb60585f8defccba1dcee11378923d |
Close
Hashes for pyopencl-2019.1-cp34-cp34m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4dcb892f9dbe184efc558acd279f32b697c95904a349fc124266a9fcfa719060 |
|
MD5 | 6c92fb47044a0de7922ea77ec05ddd0d |
|
BLAKE2-256 | a664bea7eff6ee53af5bda862bd69e9f6c6cfaa369bd36748fb39ea6e3981f89 |
Close
Hashes for pyopencl-2019.1-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33f292a7a47975b0690723867fab62db6ade9664ddbddf7fa85079ec41268343 |
|
MD5 | d00fe51d37d11b65fd53d1984a7ef688 |
|
BLAKE2-256 | 4b889fff95a0dc7ea6a318a13656dfaa4dfc8d9712b600b9278e40ab28c291a2 |
Close
Hashes for pyopencl-2019.1-cp27-cp27mu-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa5cbfa99d92d6f06487ebe5808d1324a92036206583f126f3ba0367758d12f9 |
|
MD5 | 32861c39d9b462d87be0a3c39c4f8bd7 |
|
BLAKE2-256 | 151897db9c18208cc489fdeadc08d410bdf5831b867733beb33f8ee557cfe1b3 |
Close
Hashes for pyopencl-2019.1-cp27-cp27m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eadef17159b772554e03d291b510e2700e138231be69563a771da6a95739ffb2 |
|
MD5 | 8f775ee87f10ae98f53192e18b897921 |
|
BLAKE2-256 | e9cc9f8e16c4f66a49ae020a4e670c972150c0387f19c68efa31d75d73a23c65 |
Close
Hashes for pyopencl-2019.1-cp27-cp27m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13ec5e4ac04afe658d9cca6970109d621801cffdb333f72cb8534aa55a31b7ce |
|
MD5 | e35397e543c7a731b46859b34a687bf9 |
|
BLAKE2-256 | 5d2cd3c73b0e33ad2abc12caab1b23dd6c117aec0b4b76fadbce5f587a1d4a2e |