gpt4 book ai didi

c++ - CUDA 卷积 - 不可分离的内核

转载 作者:搜寻专家 更新时间:2023-10-31 01:57:31 27 4
gpt4 key购买 nike

我需要实现一个具有不可分离内核的图像卷积的高效版本(因此 CUDA 的 sdk 仅对 FFT 示例有用,但明确指出它仅适用于大内核大小)

除了我想到的从头开始实现之外,我的需要是对先验未知大小的矩阵和内核进行操作(它们可以是 10x10 到 20.000x20.000,我根本无法预测)

您对 FFT 示例有何建议? (如果这是您的最佳选择,请提供一些好的观点以开始弄清楚它是如何工作的)

对于第二个选择(自己手动实现卷积),最大化内存合并的建议是什么?

最佳答案

我对 gpu 的建议:

  1. 先做对。熟悉你所使用的算法 想要实现 在 GPU 上首先在 CPU 上。你将不得不处理这么多 更多底层细节,因此了解输出必须是什么很重要。

  2. 让它变快。如果可以使用 FFT 方法是最快的方法 (大多数情况)。

为了达到您的第一个目标,我建议您尝试使用 OpenCv 来实现它。它有一个非常好的 python 和 provide a framework for filtering 包装器

一旦您确定了您的结果以及您如何使用 OpenCv 实现该结果,请测试您是否可以使用 FFT 做同样的事情。将整体移植到 GPU 上会容易得多

关于c++ - CUDA 卷积 - 不可分离的内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5503618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com