【问题标题】:Convolution with FFT, how does this work?与 FFT 的卷积,这是如何工作的?
【发布时间】:2011-04-20 08:43:35
【问题描述】:

我知道在时域中,卷积是两个矩阵之间相当昂贵的运算,您可以通过在复平面中变换它们并使用乘法(然后返回时域)在频域中执行它

反正我不明白这是如何在CUDA SDK中执行的调用首先将内核(为什么是 C2C?复杂到复杂,为什么不是真实到复杂?)转换为复平面,然后将整个数据转换为同一平面

定义的内核 spProcess2D_kernel 然后启动,看起来像规范化并在频域中执行数据和内核之间的乘法(如何进行两个函数的乘法?我认为它们的意思是组合两个函数)并返回到 C2C转型(仍然想知道为什么是 C2C 而不是 C2R)

【问题讨论】:

  • 你指的是simpleCUFFT.cu这个例子吗?

标签: c++ math cuda fft


【解决方案1】:

至于为什么可以使用 FFT 完成此操作,您需要阅读有关 convolution theorem 的信息。

一般来说,您的输入数据可能很复杂。这就是使用 C2C 的原因。

【讨论】:

  • 谢谢,但我不是在搜索是否可以这样做,我同意。但我不知道“如何”以这种方式实现
  • 我不确定FFT是如何在CUDA SDK中实现的,我看了但看不懂
猜你喜欢
  • 2013-08-25
  • 1970-01-01
  • 2014-05-18
  • 2012-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-23
  • 2020-01-06
相关资源
最近更新 更多