Parallel Fast Fourier Transforms Theory, Methods and Libraries. A small introduction. HPC Numerical Libraries 11-13 March 2015 CINECA – Casalecchio di Reno (BO) Massimiliano Guarrasi
[email protected] Introduction to F.T.: ◦ Theorems ◦ DFT ◦ FFT Parallel Domain Decomposition ◦ Slab Decomposition ◦ Pencil Decomposition Some Numerical libraries: ◦ FFTW Some useful commands Some Examples ◦ 2Decomp&FFT Some useful commands Example ◦ P3DFFT Some useful commands Example ◦ Performance results 2 of 63 3 of 63 ∞ H ()f = h(t)e2πift dt ∫−∞ ∞ h(t) = H ( f )e−2πift df ∫−∞ Frequency Domain Time Domain Real Space Reciprocal Space 4 of 63 Some useful Theorems Convolution Theorem g(t)∗h(t) ⇔ G(f) ⋅ H(f) Correlation Theorem +∞ Corr ()()()()g,h ≡ ∫ g τ h(t + τ)d τ ⇔ G f H * f −∞ Power Spectrum +∞ Corr ()()()h,h ≡ ∫ h τ h(t + τ)d τ ⇔ H f 2 −∞ 5 of 63 Discrete Fourier Transform (DFT) In many application contexts the Fourier transform is approximated with a Discrete Fourier Transform (DFT): N −1 N −1 ∞ π π π H ()f = h(t)e2 if nt dt ≈ h e2 if ntk ∆ = ∆ h e2 if ntk n ∫−∞ ∑ k ∑ k k =0 k=0 f = n / ∆ = ∆ n tk k / N = ∆ fn n / N −1 () = ∆ 2πikn / N H fn ∑ hk e k =0 The last expression is periodic, with period N. It define a ∆∆∆ between 2 sets of numbers , Hn & hk ( H(f n) = Hn ) 6 of 63 Discrete Fourier Transforms (DFT) N −1 N −1 = 2πikn / N = 1 −2πikn / N H n ∑ hk e hk ∑ H ne k =0 N n=0 frequencies from 0 to fc (maximum frequency) are mapped in the values with index from 0 to N/2-1, while negative ones are up to -fc mapped with index values of N / 2 to N Scale like N*N 7 of 63 Fast Fourier Transform (FFT) The DFT can be calculated very efficiently using the algorithm known as the FFT, which uses symmetry properties of the DFT s um.