No project description provided
Project description
pycudwt
pycudwt is a python module for parallel Discrete Wavelet Transform. This is a wrapper of PDWT.
Note: this project was formerly named pypwt
.
It has been renamed pycudwt
to have a spot on pypi.
Installation
Requirements
You need cython and nvcc (the Nvidia CUDA compiler, available in the NVIDIA CUDA Toolkit).
For the tests, you need pywavelets. python-pywt
is packaged for Debian-like distributions, more recent changes are available on the new repository.
Stable version (from pypi)
pip install pycudwt
From conda recipe
Conda build for a specific cudatoolkit version that matches one in your conda environment, e.g.:
export CUDA_VERSION="10.1.243"
conda build conda-recipe/
Development version (from github)
git clone https://github.com/pierrepaleo/pypwt
cd pypwt
pip install .
You can specify the compute capability when building the library:
PYCUDWT_CC=86 pip install .
# or to target multiple specific GPUs
PYCUDWT_CC=80,90
# or to let nvcc target your current GPU(s)
PYCUDWT_CC=native
PYCUDWT_CC=all
Learn more here.
Testing
If pywt
is available, you can check if pycudwt gives consistent results :
cd test
python test_all.py
the results are stored in results.log
.
Getting started
Computing a Wavelet Transform wity pycudwt is simple. In ipython
:
from pycudwt import Wavelets
from scipy.misc import lena
l = lena()
W = Wavelets(l, "db2", 3)
W
------------- Wavelet transform infos ------------
Wavelet name : db2
Number of levels : 3
Stationary WT : no
Cycle spinning : no
Separable transform : yes
Estimated memory footprint : 5.2 MB
Running on device : GeForce GTX TITAN X
--------------------------------------------------
W.forward()
W.soft_threshold(10)
W.inverse()
imshow(W.image)
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
Hashes for pycudwt-multitarget-1.0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9d12c39f52ca480b1977b61990cfd2aa6be56b467fc768af37846720f03f28e |
|
MD5 | f8f51233f3c9464048d67c2794cab50d |
|
BLAKE2b-256 | e2c0a10d4c5d35e510896de26e367e50c4f050ec208cd66fef36fb994ab61c1b |