Implementation of the DWT in a GPU through a register-based strategy

Author

Enfedaque Montes, Pablo

Aulí Llinàs, Francesc

Moure, Juan C

Publication date

2015

Abstract

The release of the CUDA Kepler architecture in March 2012 has provided Nvidia GPUs with a larger register memory space and instructions for the communication of registers among threads. This facilitates a new programming strategy that utilizes registers for data sharing and reusing in detriment of the shared memory. Such a programming strategy can significantly improve the performance of applications that reuse data heavily. This paper presents a register-based implementation of the Discrete Wavelet Transform (DWT), the prevailing data decorrelation technique in the field of image coding. Experimental results indicate that the proposed method is, at least, four times faster than the best GPU implementation of the DWT found in the literature. Furthermore, theoretical analysis coincide with experimental tests in proving that the execution times achieved by the proposed implementation are close to the GPU's performance limits.

Document Type

Article

Language

English

Subjects and keywords

Compute Unified Device Architecture (CUDA); DWT; Discrete Wavelet Transform (DWT); Graphics Processing Unit (GPU)

Publisher

 

Related items

Ministerio de Economía y Competitividad RYC-2010-05671

Ministerio de Economía y Competitividad TIN2011-28689-C02-1

Ministerio de Economía y Competitividad TIN2012-38102-C03-03

Agència de Gestió d'Ajuts Universitaris i de Recerca 2014/SGR-691

IEEE transactions on parallel and distributed systems ; Vol. 26 Issue 12 (December 2015), p. 3394-3406

Rights

open access

Aquest material està protegit per drets d'autor i/o drets afins. Podeu utilitzar aquest material en funció del que permet la legislació de drets d'autor i drets afins d'aplicació al vostre cas. Per a d'altres usos heu d'obtenir permís del(s) titular(s) de drets.

https://rightsstatements.org/vocab/InC/1.0/

This item appears in the following Collection(s)