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
File details
Details for the file pycudwt-multitarget-1.0.5.tar.gz
.
File metadata
- Download URL: pycudwt-multitarget-1.0.5.tar.gz
- Upload date:
- Size: 59.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b39c7704602710f56d2fdd061e1cec49636dddcb656e4066dad5d6be2d6b25f |
|
MD5 | b1f094cc27acb08aa9a646c46b48dbf4 |
|
BLAKE2b-256 | 98967ccd776a016eb1ec795c89b216b3c822694f56935be401c3b0bdc9fee61f |