We present a simple out-of-core algorithm for computing the Fast-Fourier Transform (FFT) needed to determine the two-dimensional potential of surface crystals with large-scale features, like faults, at ultra-high resolution, with around 109 grid points. This algorithm represents a proof of concept that a simple and easy-to-code, out-of-core algorithm can be easily implemented and used to solve large-scale problems on low-cost hardware. The main novelties of our algorithm are: (1) elapsed and I/O times decrease with the number of single records (lines) being read; (2) only basic reading and writing routines is necessary for making the out-of-core access. Our method can be easily extended to 3D and be applied to many grand-challenge problems in science and engineering, such as fluid dynamics.
Bibliographical noteFunding Information:
We thank Paul Woodward for stimulating comments and access to the Power Wall at L.C.S.E., which has helped us to visualize the large-scale features. Renata Wentzcovitch for encouragement and Taku and Jun Tsuchiya for discussion. We thank the CCP4 team for having allowed us to look at their software. We thank Maxwell Rudolph, Erik O.D. Sevre, Ben F. Kadlec, Cesar da Silva and Evan Bollig for help in setting up the Opteron system. This search has been supported by CRSNG Canada (A.P. Vincent) and National Science Foundation (David Yuen).
Copyright 2008 Elsevier B.V., All rights reserved.
- Crystal lattice
- Out-of-core FFT
- Poisson equation