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.
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.
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.