Make a parallel program that computes the Fourier Transform of a 3D set of data, using the following specifications:
- Use Fortran or C.
- Use MPI and MPI version of FFTW.
- Input array: Complex array of 128x128x128 points.
- Input function: 3D-Top Hat function centered in (63,63,63) (or (64,64,64) for Fortran users) and radius 32 points.
- Output array: Complex array of 128x128x128 points.
- Using the results, compute the anti-transform, and compare the results.
- For FFTW commands you can use the FFTW on line manual at http://www.fftw.org/doc/
- Use MPI_WTIME function: MPI_Wtime.html
- Compare the times of execution obtained using 2,4, 8, 16, 32, 48 cores.