Loading…

Efficient scatter-based kernel superposition on GPU

Kernel superposition, where an image is convolved with a spatially varying kernel, is commonly used in optics, astronomy, medical imaging and radiotherapy. This operation is computationally expensive and generally cannot benefit from the mathematical simplifications available for true convolutions....

Full description

Saved in:
Bibliographic Details
Published in:Journal of parallel and distributed computing 2015-10, Vol.84, p.15-23
Main Authors: da Silva, Joakim, Ansorge, Richard, Jena, Rajesh
Format: Article
Language:English
Subjects:
Citations: Items that this one cites
Items that cite this one
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Kernel superposition, where an image is convolved with a spatially varying kernel, is commonly used in optics, astronomy, medical imaging and radiotherapy. This operation is computationally expensive and generally cannot benefit from the mathematical simplifications available for true convolutions. We systematically evaluated the performance of a number of implementations of a 2D Gaussian kernel superposition on several graphics processing units of two recent architectures. The 2D Gaussian kernel was used because of its importance in real-life applications and representativeness of expensive-to-evaluate, separable kernels. The implementations were based both on the gather approach found in the literature and on the scatter approach presented here. Our results show that, over a range of kernel sizes, the scatter approach delivers speedups of 2.1–14.5 or 1.3–4.9 times, depending on the architecture. These numbers were further improved to 4.8–28.5 and 3.7–16.8 times, respectively, when only “exact” implementations were compared. Speedups similar to those presented are expected for other separable kernels and, we argue, will also remain applicable for problems of higher dimensionality. •We investigate the performance of a 2D Gaussian variable kernel convolution on GPU.•We produce several implementations, both conventional, gather-based, and new, scatter-based.•The performance of the implementations is evaluated on several GPUs of different architecture.•The scatter-based approach achieves considerably better performance for all GPUs and kernel sizes.•The results should extend to any similar kernel and to problems of higher dimensionality.
ISSN:0743-7315
1096-0848
DOI:10.1016/j.jpdc.2015.07.003