CUDA卷积 - 不可分离的内核

我需要使用不可分离的内核实现一个高效的图像卷积版本(因此CUDA的sdk仅适用于FFT示例,但很明显它只适用于大内核大小) 除了我从头开始实现它之外,我的需求是在先验未知大小的矩阵和内核上运行(它们可以是10x10,为20.000x20.000,我根本无法预测) 您对FFT示例有何建议? (如果这是你最好的选择,请给我一些好处,开始弄清楚它是如何工作的) 对于第二个选择(由我自己手动实现卷积),最大化内存合并的建议是什么?     
已邀请:
我对gpu的建议: 首先要做对。使用您的算法轻松搞定    想要实施    首先在GPU上的GPU上。你将不得不处理这么多    更低级别的细节,因此您必须知道输出必须是什么。 快一点。如果可以使用FFT方法,则最快   (大多数情况)。 为了实现您的第一个目标,我建议您尝试使用OpenCv实现它。 它有一个非常好的python包装器,并提供了一个过滤框架 一旦确定了结果以及如何使用OpenCv实现这一目标,请测试是否可以 使用FFT做同样的事情。将整个移植到GPU上会容易得多     
你可能想看一下theano中卷积的实现(它们使用非基于FFT的内核)......或者只是使用theano。     

要回复问题请先登录注册