No project description provided
Project description
pycudwt-multitarget
pycudwt-multitarget
is a python module for parallel Discrete Wavelet Transform. This is a fork of the wrapper of PDWT.
Note: this project is much the same as pycudwt
, but it has the ability to compile for multiple different GPUs to obviate the need to have separate containers (Docker or enroot) for different instance types having different GPUs (ie: one image for both A100s and H100s).
When these changes are merged back into pycudwt
, I will no point there and make a note in the new description.
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-multitarget
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=all
Learn more here.
Testing
If pywavelet
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.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b39c7704602710f56d2fdd061e1cec49636dddcb656e4066dad5d6be2d6b25f |
|
MD5 | b1f094cc27acb08aa9a646c46b48dbf4 |
|
BLAKE2b-256 | 98967ccd776a016eb1ec795c89b216b3c822694f56935be401c3b0bdc9fee61f |