Our program assumes that both the number of data points and the number of processors are powers of two. Also, input files are expected to be in the valid data format for our code (see below).
The project has the following requirements to build: build-essential mpicc git
To build the project merely issue the following commands:
$ git clone https://github.com/skylerberg/Parallel_FFT.git
To run the project, the system must have mpiexec
Once the project is built the parallel FFT program can be run using the following command:
$ mpiexec -n 4 ./ptest testdata.txt
This can be run on a single computer or a distributed system such as our cluster.
All code is available at https://github.com/skylerberg/Parallel_FFT.
The data files read by our 1D FFT program consist of a line containing a single integer, n, where n is the number of samples, followed by n lines. Each following line contains to numbers r, i, seperated by a comma and represents a complex number. For example:
is a valid file.