文件名称:Fast 2D GPU-based convolution:图形芯片辅助快速2d卷积-matlab开发
文件大小:48KB
文件格式:ZIP
更新时间:2024-06-21 11:56:49
matlab
cudaconv - 使用 NVIDIA 图形芯片组执行 2d 卷积。 对于大型数据集(约 100 万个元素),尤其是大型内核(性能与内核大小无关),cudaconv 的性能可以超过 conv2 多达 5000%。 我没有创建这个算法..它改编自 CUDA SDK 中包含的一个示例,并封装在与 MATLAB 兼容的 C 代码中。 对于非常大的数据矩阵,它可以*完全*使您的计算机(/图形驱动程序?)崩溃,所以要小心。 在测试中,我发现卷积大小的上限(受 CUDA FFT 函数可以接受的大小或 2D 纹理的大小的限制)大约为 2^20 个元素,因此上面的代码将卷积分解为更小的部分。 如果您喜欢冒险,可以随意提高该限制,但请注意,在这些大小下,cudaconv 已经比 conv2 快了大约 50-100 倍。
【文件预览】:
cudaconv.zip