Make a parallel program that computes the Fourier Transform of a 2D set of data, using the following specifications:
- Use Fortran or C.
- Use MPI and MPI version of FFTW.
- Input array: Complex array of 1024x1024 points.
- Input function: 2D-Top Hat function centered in (511,511) (or 512 for Fortran users) and radius 256 points:
- Output array: Complex array of 1024x1024 points.
- For FFTW commands you can use the FFTW on line manual at http://www.fftw.org/doc/
- Compare the time needed to execute the DFT, and the time used to create the plan, using both fftw_estimate and ftw_measure flags
- Only for the fftw_estimate case compare the times of execution obtained using 2,4, 8, 12, 16, 32, 48 cores.