OpenCL based GPU-accelerated image processing (an early prototype)
Project description
pyclesperanto
pyclesperanto is a prototype for clEsperanto - a multi-platform multi-language framework for GPU-accelerated image procesing. It uses OpenCL kernels from CLIJ
Right now, this is very preliminary.
Installation
- Get a python environment, e.g. via mini-conda
- Install pyopencl and gputools.
If installation of gputools doesn't work because of issues with pyopencl for Windows, consider downloading a precompiled wheel (e.g. from here ) and installing it manually:
pip install pyopencl-2019.1.1+cl12-cp37-cp37m-win_amd64.whl
pip install gputools
Afterwards, install pyclesperanto:
pip install pyclesperanto-prototype
Troubleshooting installation
If you receive an error like
DLL load failed: The specified procedure could not be found.
Try downloading and installing a pyopencl with a lower cl version, e.g. cl12 : pyopencl-2020.1+cl12-cp37-cp37m-win_amd64
Example code
An example is available in this script. Basically, you import the methods from clEsperanto you need:
import pyclesperanto_prototype as cle
You can then push an image to the GPU and create memory there:
import numpy as np
# push an array to the GPU
flip = cle.push(np.array([[2, 4, 6, 8, 10, 12, 14, 16, 18, 20][]))
# create memory for the output
flop = cle.create((10,1))
And then you can call methods in the GPU without the need for learning OpenCL:
# add a constant to all pixels
cle.add_image_and_scalar(flip, flop, 100.0)
# print result
print(flop)
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
Built Distribution
Hashes for pyclesperanto_prototype-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbd8771b562e069483fdd45b5dc8c64daf608fcef52253c43b048bdcb9e0c7fb |
|
MD5 | c49e9095f10a149cbe6ae5d8ee833ebd |
|
BLAKE2b-256 | 04c1c2fce536f8e535cac3ec689224dd75096aea35fdff18aef378c01c891878 |
Hashes for pyclesperanto_prototype-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3813edce257d48d145617548e7ad56ed1ac01b85716167af901dbaa900fdd789 |
|
MD5 | 1dc2b8edacb3bfe08d45b234ddb119e8 |
|
BLAKE2b-256 | 47235fa27ef2b0230a6cd796133db462c0a1908b48685393f7673a40be395383 |