0

这是我认为可能是一个奇怪的问题。

有谁知道 OpenCL 中 1D FFT 的快速实现,它不是并行的。

这就是为什么我想要一个像这样实现的版本。

我有一个当前执行处理的任务:

  1. 接受 64 个值。
  2. 对此数据执行 FFT
  3. 对 FFT 的输出进行更多分析
  4. 生成大约 6 个值并返回。

这在输入的不同值上重复了大约 1-4 百万次。每组输入相互独立。

由于输入对于单个操作来说太大了,我想要么将输入分成组或某种流。

有谁知道做类似事情的示例代码。

我正处于学习 OpenCL 的早期阶段,但是这个任务要提前一点。任何帮助,将不胜感激。

4

2 回答 2

1

一些库(例如 cufft)提供“批处理”模式 fft - 就像在不同数据上并行执行许多较短的 fft。

对于固定大小 64,您几乎可以展开顺序 radix-2 或 radix-4 fft(请参阅http://cnx.org/content/m12027/latest/),前两个阶段仅包含和和差,以及一些复杂的在后续阶段进行乘法运算。如果输入数据是实值(没有虚部),则可以进行进一步优化。

于 2012-11-17T18:23:12.563 回答
0

如果您想要一个非并行版本并且仍然打算使用 GPU,为什么不从您的主机程序和内核内部启动单个线程,使用循环进行蝶形计算和阶段。我曾经实现这个东西只是为了好玩。

于 2013-11-29T15:48:13.583 回答