CUDA convolutionFFT2D пример - я не могу понять это - PullRequest
2 голосов
/ 16 мая 2011

Я изучил алгоритм Кули Тьюки и понял его. Я получил все в примере CUDA convolutionFFT2D до следующих ядер:

spProcess2D вызывает -> spProcess2D_kernel, который вызывает много -> spPostprocessC2C, mulAndScale и spPreprocessC2C

Вот полный код: http://nopaste.info/30c13e44fe.html (convolutionFFT2D.cu, вот функция spProcess2D) http://nopaste.info/78d22afac2.html (convolutionFFT2D.cuh, вот другие функции)

Я уже прочитал все статьи nvidia sdk, но я до сих пор не могу понять, что делают эти функции (они используют тиддл, но там нет ничего похожего на алгоритм Кули Тьюки)

Пожалуйста, помогите мне, если можете, или хотя бы укажите, где решить мою проблему

Обновление: я нашел эту ссылку: http://cnx.org/content/m16336/latest/#uid38 Может быть, эти функции выполняют алгоритм в ширину? Я до сих пор не могу этого сказать, но форма кажется такой же

Ответы [ 2 ]

1 голос
/ 25 мая 2011

Похоже, что алгоритм делает что-то похожее на алгоритм, упомянутый здесь .Этап предварительной обработки выглядит как переупорядочение вещественного ввода размера N (после заполнения) на сложный ввод размера N / 2.Шаг постобработки - это переупорядочение данных, чтобы получить обратно БПФ исходного входного массива.

0 голосов
/ 17 мая 2011

spPostprocessC2C выглядит как одиночная бабочка БПФ.Сложность в вызове подпрограмм состоит только в том, что алгоритм FFT встроен в модель SIMT для CUDA.

Возможно, если вы объяснили, чего именно вы пытаетесь достичь (помимо простого понимания того, как работает эта конкретная реализация FFT)тогда вы можете получить более конкретные ответы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...