IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks  >  Information management  >  

3D Fast Fourier Transform Library for Blue Gene/L

A C++ library for computing distributed complex-to-complex, three-dimensional Fast Fourier Transforms on the Blue Gene/L supercomputer.


Date Posted: June 27, 2006
Overview Requirements DownloadFAQsForum Reviews

1. Can the BGL3DFFT library run only on BG/L architecture?
2. What is the design goal of BGL3DFFT?
3. Can BGL3DFFT perform arbitrary-sized, 3D Fast Fourier Transform?
4. What is the sign convention for performing forward and reverse 3D FFT?
5. What is the input/output format?
6. Can BGL3DFFT perform real-to-complex transforms?
7. Are there any benchmarks related to the BGL3DFFT library?


1. Can the BGL3DFFT library run only on BG/L architecture?

The BGL3DFFT is written in C++ and can run on any platform. However, we provide a binary file for the BG/L architecture.
Back to top Back to top

2. What is the design goal of BGL3DFFT?

The goal of BGL3DFFT is to provide a scalable implementation of 3D FFT on a torus architecture, such as BG/L, mostly for small 3D FFTs.
Back to top Back to top

3. Can BGL3DFFT perform arbitrary-sized, 3D Fast Fourier Transform?

No; this version can perform 3D FFTs on power-of-two complex data type elements on power-of-two processor mesh.
Back to top Back to top

4. What is the sign convention for performing forward and reverse 3D FFT?

We use the same sign convention as the ESSL. The forward and reverse transforms correspond to 1 and -1, respectively.
Back to top Back to top

5. What is the input/output format?

Both input and output FFT arrays are one-dimensional pointers to complex <type>. We pack the complex data by alternating the real and complex part in the array.

BGL3DFFT expects input data to have specific strides. Further details about the strides are available in the readme documention file.

Back to top Back to top

6. Can BGL3DFFT perform real-to-complex transforms?

No; this version performs only complex-to-complex transforms. For real-to-complex transforms, the user may set the imaginary part of the input data to zero.
Back to top Back to top

7. Are there any benchmarks related to the BGL3DFFT library?

The BGL3DFFT work has appeared in the following publications:

M. Eleftheriou, B. Fitch, A. Rayshubskiy, T.J.C. Ward, and R.S. Germain. "Performance measurements of the 3D FFT on the Blue Gene/L supercomputer." In Euro-Par 2005 Parallel Processing: 11th International Euro-Par Conference, Lisbon, Portugal, August 30 to September 2, 2005, Volume 3648 of Lecture Notes in Computer Science, edited by J.C. Cunha and P.D. Medeiros. Springer-Verlag, 2005. Pp. 795–803. (doi:10.1007/11549468_87)

M. Eleftheriou, B.G Fitch, A. Rayshubskiy, T.J.C. Ward, and R.S. Germain. "Scalable framework for 3D FFTs on the Blue Gene/L supercomputer: Implementation and early performance measurements." In IBM Journal of Research and Development.

An earlier implementation of the 3D FFT on BG/L appeared in the following work:

Maria Eleftheriou, Jose E. Moreira, Blake G. Fitch, and Robert S. Germain. "A volumetric FFT for Blue Gene/L." In High Performance Computing - HiPC 2003, Volume 2913 of Lecture Notes in Computer Science, edited by Timothy Mark Pinkston and Viktor K. Prasanna. Springer, January 2003. Pp. 194–203.

Back to top Back to top
Download now Download now

Related technologies

For platform(s):
Linux

For topics:
Databases and data management, Fast Fourier Transform (FFT), performance, Scalability, IBM Blue Gene/L architecture


Related resources

Press Articles

 

    About IBM Privacy Contact