Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I wonder if PKUFFT is Chinese algorithm/library and is it really better than FFTW, MKL ? Thank you

Edit: I will elaborate. My personal programmers interest is in fast parallel algorithms like FFTW3, which was my favorite until I stumbled upon chinese claim of superior run with PKUFFT. It is on google, if you search for FFTW3, Intel MKL, GPU and things. I dont know anything about this library, but I would be very interested to learn.

I can guess PKU stands for Peking Univ. There is nothing on web except presentation and mentioning of some commonly available hardware (GPU, infiniband, etc.). everything, including compilers was available for years. The improvement of 2000% is significant. The news are 1 year old. But no details about algorithm itself.

It will be interesting to know if there is genuine discovery in algebra, or just technical effect with unfair advantage of knowing specific platform better than competing teams.

share|improve this question
Can you give more information on PKUFFT? Google yields nothing – Otto Allmendinger Jul 21 '11 at 17:58
It seems to be a GPGPU implementation that runs on a cluster of GPU cards, so the performance difference should not be too surprising: – Paul R Jul 21 '11 at 18:07
What are these things..? – Brendan Long Jul 21 '11 at 18:52
@Brendan Implementations of an algorithm to calculate a Fast Fourier Transform. – Michael Todd Jul 21 '11 at 18:57

1 Answer 1

up vote 0 down vote accepted

It looks like the benefit comes from a better use of underlying architecture. See the abstract of another related paper here: They figured out a better way to, in general, take advantage of parallel GPU/CPU architectures, reducing the overhead for the parallelized algorithm.

This is not an improvement in the underlying algorithm for FFT. This is an improvement in the general application of heavy math algorithms to many-core/multi-core architectures.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.