Using cuFFT for 2D convolution

Now we are going to make a small program that performs Gaussian filtering on an image using cuFFT-based two-dimensional convolution. Gaussian filtering is an operation that smooths a rough image using what is known as a Gaussian filter. This is named as such because it is based on the Gaussian (normal) distribution in statistics. This is how the Gaussian filter is defined over two dimensions with a standard deviation of σ:

When we convolve a discrete image with a filter, we sometimes refer to the filter as a convolution kernel. Oftentimes, image processing engineers will just call this a plain kernel, but since ...

Get Hands-On GPU Programming with Python and CUDA now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.