Я реализовал 1D FFT на оборудовании 7800GTX еще в 2005 году. Это было до CUDA и т. Д., Поэтому мне пришлось прибегнуть к использованию Cg и реализации FFT вручную.
У меня есть две реализации FFT. Один из них - это БПФ в формате Radix2 Decition Time Time, а другой - БПФ Stocks Autosort. Stockham будет работать примерно в 2-4 раза быстрее, чем процессор (в то время как одноядерный 3G4 P4) для больших размеров (> 8192), но для меньших размеров процессор был быстрее, так как ему не нужно перемещать данные в / из графического процессора ,
Если вас интересует код шейдера, не стесняйтесь связаться со мной, и я отправлю его по электронной почте. Это был личный проект, поэтому на него не распространяются никакие коммерческие авторские права. Я полагаю, что реализации CUDA (и аналогичные) значительно превзойдут мою реализацию, однако, с точки зрения обучения, вы не можете стать лучше, чем писать или изучать код самостоятельно!