Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.

## 2D FFT performance on cluster

Beginner
1,597 Views
Hi there,
I need to take an advantage of calculation of 2D FFT on the grid, say, 512x512 using the cluster.
Algorithm consists of 3 steps:
1. 1D FFT's on the raws of the matrix
2. Matrix transpose
3. Repetition of the step 1.
One-processor tests show that the Step 2 (matrix transpose) is the most time consuming part of the algorithm. So, while parallelization of Step 1 is pretty straightforward on the cluster, the matrix transpose on the cluster becomes a bottleneck.
There is a group of people from the East Coast who worked on the problem and presumably achieved linear growth of FFT performance on the cluster up to 16 processors, which is quite impressive.
The question is, if Intel cluster library can handle the problem of parallelization of 2D FFT on the cluster?
Andrei
7 Replies
Employee
1,597 Views

Hello Andrei,

The Intel Cluster Math Kernel Library 8.1can do distributed-memory, parallel FFT's. The following website has more information: http://www.intel.com/cd/software/products/asmo-na/eng/perflib/mkl/266852.htm. You can download Cluster MKL and get a 30-day license from this site too.

Please share your performance results if you try Cluster MKL.

Best regards,

Henry

Beginner
1,597 Views
Hi Henry,

I looked at the performance graphs in the link in your reply.

How can one get 5 Gflops performance on 1.5 Ghz processor (I mean 1D FFT graph)?

Andrei

Message Edited by andrei@cox.net on 04-12-200607:53 AM

Employee
1,597 Views

Hi Andrei,

The Itanium 2processor can dofour floating-point operations per clock cycle. Therefore, the theoretical peak of a 1.5 GHz Itanium 2 is 6 GFLOPS.

Henry

Beginner
1,597 Views
Henry, thanks for the answer.

I think that different graphs for the cluster performance estimate would be useful -- acceleration factor versus number of processors used for, say, 512x512 FFT. In fact, they are common in literature.

It is easy to understand from the existing graphs that such dependence is close to linear up to 4 processors. It is also clear that it will start to deviate from linear dependence at specific number of processors. Question -- how many and how fast?

Is there any place to take a look at such graphs?

Thanks, Andrei
Employee
1,597 Views

Hi Andrei,

I'm not aware ofany other graphs or published benchmarks of MKL DFT performance. I can't estimate the scalability of your calculation. However, a 512x512 FFT is considered a small calculation on a good workstation or server. I recommend that you measure the serialMKLperformance before investing any effort in a distributed-memory, parallel solution. Depending on your system, MKL can probably compute a 512x512 transform in less than a second.Ifso, adistributed-memory, parallel solution will be slower because of the communication overhead.

Henry

Beginner
1,597 Views
Hi Henry,

Thank you for your answers. In fact, 512x512 grid is just entry level

for my problem and I hope that system overhead will be significantly

lower for higher grid dimension.

Appreciate your cooperation, Andrei
Beginner
1,597 Views
Regarding the 1.5GHz Itanium 2's peak performance of 6 GFlops, I would have thought that for short precision data, the peak would be higher through the use of whichever SIMD is actually present.
Tim