What are some detailed resources, with sample code explanations, regarding running FFTW on MIC? I have looked at:
Let me know if there are any additional resources I can have a look at.
If you want to try FFTW on MIC, we recommend to use the FFTW3 interface. In this case, just link your code to Intel MKL instead of the libfftw3.*.
If your application uses the FFTW2 interface, please follow the steps under the last link in your post (build the wrapper library, etc.). The wrapper library must go before the MKL binaries on the link line in order to override the fftw_destroy_plan symbol which is common to FFTW2 and FFTW3.
I am trying to compile my application for the Xeon Phi, and I am wondering how to get the FFTW2 interfaces for the Phi. For the "regular" x86 architecture, the instructions are clear. What I did was simply:
make libintel64 PRECISION=MKL_DOUBLE compiler=intel
[repeat for all the FFTW2 version, precisions, C/Fortran,...]
This generates the necessary dynamic library files, which I can then use to link the to the application.
Now there is no option for the Intel Phi in those makefiles. I would have expected to have something like:
make libmic PRECISION=MKL_DOUBLE compiler=intel
But it's not available. So what should I do ? Hack the makefile, add the -mmic at the strategic places, change the names of the directories etc ? Or are updated makefiles (supporting Phi) available somewhere ? I am not a big makefile guru, so getting canned makefiles would help me greatly... I need all the FFTW2 libraries, 64 bits, both C and Fortran interfaces, single and double, also the MPI parallel versions (currently using, on the x86 platform, libfftw2x_cdft_DOUBLE.a, libfftw2x_cdft_SINGLE.a, libfftw2xc_double_intel.a, libfftw2xc_single_intel.a, libfftw2xf_double_intel.a, libfftw2xf_single_intel.a)
I am using "All Intel" software (mkl, icc, ...).
Thanks in advance !
The 'libmic' option for building FFTW2 wrapper on MIC has been added since Intel Composer XE 2013 Update 2. You are still using update 1. Please upgrade your installation.Thanks!
Thanks for your answer, I will update my install...
It appears that the wrappers only create static libraries, and I want to use dynamic linking so that I can take advantage of updates without recompiling (recompiling takes about 4 days).
Are there FFTW libraries with automatic offload for the Phis yet? This would be considerably more useful.
Automatic offload of batch 1D FFT (i.e. multiple 1D FFTs in one call) will be included in Intel MKL 11.2 release (due Fall 2014).