gpu dwt software

Discrete Wavelet Transform on GPU

Discrete Wavelet Transform (DWT) is quite new math algorithm which is working at both spatial and temporal domains, though Fourier transform is able to offer frequency analysis only. There are lots of applications for DWT and particularly that transform is utilized in image processing applications (JPEG2000 encoding and decoding, denoising, etc). To solve the task of Fast Discrete Wavelet Transform, we have developed DWT kernel that runs on existing GPU hardware from NVIDIA. We have implemented both lifting and convolution-based algorithms and achieved very high performance both for forward and inverse DWT.

The simplest wavelet is Haar and we've developed both 1D and 2D Haar transforms. We have also implemented Cohen–Daubechies–Feauveau 5/3 and 9/7 (CDF 5/3 and CDF 9/7) wavelet transforms. These are biorthogonal wavelets, used in JPEG2000 image compression, wavelet denoising, image classification and many other applications.

Hardware and software

  • CPU Intel Core i7-5930K (Haswell-E, 6 cores, 3.5–3.7 GHz)
  • GPU NVIDIA GeForce GTX 980 (Maxwell, 16 SMM, 2048 cores, 1.1–1.3 GHz)
  • OS Windows 10 (x64)
  • CUDA Toolkit 9.2

Benchmarks for 2D Discrete Wavelet Transform on GPU

Image: width 5180, height 5180, 24-bit, 1/2/3-level DWT, symmetrical boundary conditions
Test description: all data in GPU memory, timing includes GPU computations only

  • Forward/Inverse CDF 9/7 – 6 ms (16 GByte/s) for one-level 2D DWT
  • Forward/Inverse CDF 9/7 – 9 ms (11 GByte/s) for two-level 2D DWT
  • Forward/Inverse CDF 9/7 – 12 ms (8 GByte/s) for three-level 2D DWT

We have designed that software as a part of our GPU image processing SDK. Now our customers have opportunity to use fast 2D DWT on GPU in their applications.

     Home              Contacts          Site Map
GPU Image Processing