OpenCL* for CPU
Ask questions and share information on Intel® SDK for OpenCL™ Applications and OpenCL™ implementations for Intel® CPU
Announcements
This forum covers OpenCL* for CPU only. OpenCL* for GPU questions can be asked in the GPU Compute Software forum. Intel® FPGA SDK for OpenCL™ questions can be ask in the FPGA Intel® High Level Design forum.
1663 Discussions

FFT API for Intel OpenCL SDK

Mayank_R_
Beginner
305 Views

Hey everyone, I'm a beginner in this field and as part of my first project, I was trying to make use of the OpenCL SDK provided by Intel. I'm working on implementing a Fast Fourier Transform and on the internet, I could find implementations such as clFFt which have other dependencies. Does Intel have an equivalent implementation for OpenCL or is there an OpenSource one which doesn't have any other dependencies.

My system is on Windows 10, Visual Studio 2015 with the Intel OpenCL SDK 2016 and my question is because I'm trying to implement feature extraction for a speech recognition system.

0 Kudos
6 Replies
Jeffrey_M_Intel1
Employee
305 Views

As far as I know, Intel does not have an FFT library to suggest for OpenCL.  However, I'll keep looking and update you if I find anything.

Mayank_R_
Beginner
305 Views

Thanks for the update!

Jeffrey_M_Intel1
Employee
305 Views

Some additional details:

  • There is an article on optimizing FFT for Intel GPUs in OpenCL in a recent Parallel Universe (2016 Issue 25).  However, this is a project findings summary, not a downloadable library.  At this time there is no schedule to release the code, but you may find some of the concepts relevant for your work.
  • The authors suggest clFFT as a starting point.  If, as you mention, this isn't an ideal solution I can say from personal experience that going back to first principles isn't as hard as it might seem at first.
  • More alternatives: if your main goal is speech recognition you can start with the optimized CPU implementations in Intel(R) MKL or Intel(R) IPP.  After the algorithm is generated you may find that there are ways to "fuse" recognition and FFT steps in custom OpenCL kernels for even greater efficiency.
Mayank_R_
Beginner
305 Views

The third option seems like worth a try. I'll definitely give it a go. I have started writing the code for it from basic principles. I hope to make an open source release of the implementation if it works well.
Thanks for the supportive response.

Dan_P_Intel
Employee
305 Views

You might find interesting the genFFT sample we posted a while ago: A Runtime Generated FFT for Intel® Processor Graphics.

Mayank_R_
Beginner
305 Views

Thanks, I'll check it out!

Reply