GPU CUDA convolution 2D 3D

版本 1.0.0.0 (74.0 KB) 作者: Jason Klebes
matlab wrapper for CUDA 2D and 3D GPU-accelerated convolution
49.0 次下载
更新时间 2023/6/21

C++/CUDA GPU-accelerated convolution in 2D and 3D. View GPU CUDA convolution 2D 3D on File Exchange

Based on NVIDIA cuda-samples convolutionFFT2D combined with matlab mexGPUexample.m.

I provide compiled .mexw64 files from a Windows 10 and compiled .mexa64 files from unix, which should run out of the box.
If this doesn't work for you due to different machine, a new mex compilation will be attempted and the NVIDIA CUDA toolbox - including an nvcc compiler, supported C++ compiler, and library cuFFT - must be installed.

Run functions CUDAconvolution(data, kernel) or CUDAconvolution3D(data, kernel) analogous to matlab conv2, convn.

The method is convolution by FFT, pointwise multiply, and inverse FFT.

This method is much faster in the case of medium to large kernels; outperforms matlab starting at kernel size ~12 x 12 x 12 and speedup is more than 1000x at convolution 900x900x200 with 100x100x100 kernel (test3d.mlx). Execution time should be constant and is <1s on my machine up to GPU memory limit.

Data should be the bigger array, as an array cut to original dimensions of data is returned.

引用格式

Jason Klebes (2024). GPU CUDA convolution 2D 3D (https://github.com/jklebes/matlabCUDAconvolution/releases/tag/v1.0.0), GitHub. 检索时间: .

MATLAB 版本兼容性
创建方式 R2023a
兼容任何版本
平台兼容性
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.0.0.0

See release notes for this release on GitHub: https://github.com/jklebes/matlabCUDAconvolution/releases/tag/v1.0.0

0.0.5.0

See release notes for this release on GitHub: https://github.com/jklebes/matlabCUDAconvolution/releases/tag/v0.0.5

0.0.4.0

See release notes for this release on GitHub: https://github.com/jklebes/matlabCUDAconvolution/releases/tag/v0.0.4

0.0.3.0

See release notes for this release on GitHub: https://github.com/jklebes/matlabCUDAconvolution/releases/tag/v0.0.3

0.0.2.0

See release notes for this release on GitHub: https://github.com/jklebes/matlabCUDAconvolution/releases/tag/v0.0.2

0.0.1

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库