Skip to content

Commit a887a9e

Browse files
author
Martin Weigert
committed
Merge branch 'master' of github.com:maweigert/gputools
2 parents b13fa8c + 580e6a4 commit a887a9e

File tree

1 file changed

+51
-6
lines changed

1 file changed

+51
-6
lines changed

README.md

+51-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,23 @@
1-
# gputools
1+
# gputools - OpenCL accelerated volume processing in Python
22

3-
OpenCL accelerated volume processing in Python
3+
This package aims to provide GPU accelerated implementations of common volume processing algorithms to the python ecosystem.
4+
5+
* convolutions
6+
* denoising
7+
* deconvolution
8+
* synthetic noise
9+
* ffts
10+
* transforms
411

512
### Requirements
613

7-
- python 2 (yet)
14+
- python 2.7 / 3.5+
815
- a working OpenCL environment (check with clinfo).
916

1017
### Installation
1118

1219
```
13-
pip install --user git+https://github.com/maweigert/gputools
20+
pip install gputools
1421
```
1522
check if basic stuff is working:
1623

@@ -26,7 +33,10 @@ Most of the methods work on both numpy arrays or GPU memory objects (gputools.OC
2633

2734
####Convolutions
2835

29-
1D-3D convolutions/seperable convolutions/fft based convolution
36+
* 2D-3D convolutions
37+
* separable convolutions
38+
* fft based convolution
39+
* spatially varying convolutions
3040

3141
```python
3242

@@ -87,7 +97,7 @@ gputools.transforms.translate(d,10,20,30)
8797
```
8898

8999
####fft
90-
wraps around pyfft
100+
wraps around reikna
91101

92102
```python
93103
gputools.fft(d)
@@ -104,4 +114,39 @@ id_platform = 0
104114
id_device = 1
105115
```
106116

117+
### Troubleshooting
118+
119+
#### pyopencl: _cffi.so ImportError
120+
If you see a
121+
```
122+
ImportError: _cffi.so: undefined symbol: clSVMFree
123+
```
124+
after importing gputools, this is most likely a problem of pyopencl being installed with an incorrent OpenCL version.
125+
Check the OpenCL version for your GPU with clinfo (e.g. 1.2):
126+
127+
```
128+
clinfo | grep Version
129+
```
130+
131+
and install pyopencl manually while enforcing your opencl version:
132+
133+
```
134+
# uninstall pyopencl
135+
pip uninstall pyopencl cffi
136+
137+
# get pyopencl source
138+
git clone https://github.com/pyopencl/pyopencl.git
139+
cd pyopencl
140+
python configure.py
141+
142+
# add in siteconf.py the line
143+
# CL_PRETEND_VERSION = "1.2"
144+
echo 'CL_PRETEND_VERSION = "1.2"' >> siteconf.py
145+
146+
pip install .
147+
```
148+
where e.g. "1.2" is your version of OpenCL.
149+
150+
151+
107152

0 commit comments

Comments
 (0)