Determining an out-of-Core FFT Decomposition Strategy for Parallel Disks by Dynamic Programming

  • Thomas H. Cormen
Part of the The IMA Volumes in Mathematics and its Applications book series (IMA, volume 105)


We present an out-of-core FFT algorithm based on the in-core FFT method developed by Swarztrauber. Our algorithm uses a recursive divide-and-conquer strategy, and each stage in the recursion presents several possibilities for how to split the problem into subproblems. We give a recurrence for the algorithm’s I/O complexity on the Parallel Disk Model and show how to use dynamic programming to determine optimal splits at each recursive stage. The algorithm to determine the optimal splits takes only Θ(lg2 N) time for an N-point FFT, and it is practical. The out-of-core FFT algorithm itself takes considerably longer.


Dynamic Programming Discrete Fourier Transform Recursive Call Disk Access Parallel Disk 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    D.H. Bailey, FFTs in external or hierarchical memory, The Journal of Super-computing, 4 (1990), pp. 23–35.Google Scholar
  2. [2]
    N.M. Brenner, Fast Fourier transform of externally stored data, IEEE Transactions on Audio and Electroacoustics, AU-17 (1969), pp. 128–132.CrossRefGoogle Scholar
  3. [3]
    J.W. Cooley AND J.W. Tukey, An algorithm for the machine calculation of complex Fourier series, Mathematics of Computation, 19 (1965), pp. 297–301.MathSciNetMATHCrossRefGoogle Scholar
  4. [4]
    T.H. Cormen, C.E. Leiserson, and R.L. Rivest, Introduction to Algorithms, The MIT Press, Cambridge, Massachusetts, 1990.MATHGoogle Scholar
  5. [5]
    T.H. Cormen AND D.M. Nicol, Performing out-of-core FFTs on parallel disk systems, Tech. Rep. PCS-TR96–294, Dartmouth College Department of Computer Science, Aug. 1996, To appear in Parallel Computing.Google Scholar
  6. [6]
    T.H. Cormen, T.Sundquist, AND L.F.Wisniewski, Asymptotically tight bounds for performing BMMC permutations on parallel disk systems, Tech. Rep. PCSTR94–223, Dartmouth College Department of Computer Science, July 1994. Preliminary version appeared in Proceedings of the 5th Annual ACM Symposium on Parallel Algorithms and Architectures. Revised version to appear in SIAM Journal on Computing.Google Scholar
  7. [7]
    T.H. Cormen, J. Wegmann, AND D.M. Nicol Multiprocessor out-of-core FFTs with distributed memory and parallel disks, in Proceedings of the Fifth Workshop on I/O in Parallel and Distributed Systems (IOPADS ‘87), Nov. 1997, pp. 68–78. Also Dartmouth College Computer Science Technical Report PCSTR97–303.CrossRefGoogle Scholar
  8. [8]
    Z. Li, Computational Models and Program Synthesis for Parallel Out-of-Core Computation, PhD thesis, Department of Computer Science, Duke University, 1996.Google Scholar
  9. [9]
    H.J. Nussbaumer, Fast Fourier Transform and Convolution Algorithms, Springer-Verlag, New York, second ed., 1982.CrossRefGoogle Scholar
  10. [10]
    R. Sweet AND J. Wilson, Development of out-of-core fast Fourier transform software for the Connection Machine. URL, Dec. 1995.CrossRefGoogle Scholar
  11. [11]
    C. Van Loan, Computational Frameworks for the Fast Fourier Transform, SIAM Press, Philadelphia, 1992.MATHCrossRefGoogle Scholar
  12. [12]
    J.S. Vitter AND E.A.M. Shriver, Algorithms for parallel memory I: Two-level memories, Algorithmica, 12 (1994), pp. 110–147.MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 1999

Authors and Affiliations

  • Thomas H. Cormen
    • 1
  1. 1.Department of Computer ScienceDartmouth CollegeHanoverUSA

Personalised recommendations