2D FFT performance on cluster

2D FFT performance on cluster

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 matrix2. Matrix transpose3. 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

8 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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,


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)?


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

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, 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

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.


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

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

Leave a Comment

Please sign in to add a comment. Not a member? Join today