Download presentation
Presentation is loading. Please wait.
Published byMartin Hood Modified over 9 years ago
1
FFT USING OPEN-MP Done by: HUSSEIN SALIM QASIM & Tiba Zaki Abdulhameed
Supervised by: DR. Ajay Gupta CS 5260 Introduction to parallel computing April 20,2015
2
Outline Fourier series Fourier Transform
Discrete Fourier Transform (DFT) Algorithm Fast Fourier Transform (FFT) IMPLEMENTATION Example Divide and conquer Parallel Radix 2 FFT Result and Evaluation Conclusion. References.
3
Fourier series Fourier series is a function which can be expressed as the sum of a series of sin and cos[1]. Where n=1,2,3,… Fourier Coefficient of f So, infinite sum f(x) is called the Fourier series of f.
4
Fourier Transform (FT)
The Fourier Transform is defined by the expression [1]: Forward Fourier Transform: actually maps a time domain (series) into the frequency domain (series). Inverse Fourier Transform: Inverse Fourier Transform maps the domain of frequencies back into the corresponding time domain. These two functions are inverses of each other. Frequency domain ideas are important in many application areas. (audio, signal processing and image processing). Fourier transform is not suitable for machine computation because infinity of samples have to be considered. Function of the variable frequency Function of the variable time
5
Discrete Fourier Transform (DFT) Algorithm
FT of analogue signal x(t) [4]. (DFT) of a discrete-time signal x(nT) For each k (N complex multiplication, N-1 complex adds)
6
For N samples of x we have N frequencies representing the signal
X(0) = x[0]WN0 + x[1]WN0*1 +…+ x[N-1]WN0*(N-1) X(1) = x[0]WN0 + x[1]WN1*1 +…+ x[N-1]WN1*(N-1) : X(k) = x[0]WN0 + x[1]WNk*1 +…+ x[N-1]WNk*(N-1) X(N-1) = x[0]WN0 + x[1]WN (N-1)*1 +…+ x[N-1]WN (N-1)(N-1)
7
Fast Fourier Transform (FFT)
(FFT) radix-2 (divide and conquer) [4] Complex conjugate symmetry Root of unity (gives 1 when raised to some integer power n). Periodicity in n,k Q1:Give three application of FFT?
8
Application of (FFT) Digital filtering. Image processing.
Voice recognition. Solving partial differential equations and quick multiplication of large integers. Solving the major inverse problem of reconstructing a signal from given frequency data.
9
Example primitive root of unity of n =n ( is the smallest integer of k=1, ..., n for which r^k=1) [1].
10
Divide and conquer Build a big DFT from smaller ones [3] Assume
Separate x[n] into even and odd –indexed subsequences Even rs n=2r Odd rs
11
Divide and conquer Cont.
But N/2 DFT of even indexed samples Xe[k] [3] N/2 DFT of odd indexed samples Xo[k]
12
Parallel radix 2 FFT Q2:What is the best network structure that fits Radix2?
13
N=8-point radix-2 DIT-FFT
N/4 point DFT N/2 point DFT N-point DFT x[0] X[0] Q3:Implementing Radix 2 FFT on Open Mp, what are the shared variables? W, N, x is shared , Q4:Do we need critical section? No need for critical because we need read only Q5: how much is the time complexity of parallel radix 2 FFT? N/p + Log p x[4] X[1] -1 x[2] X[2] -1 X[3] x[6] w2 -1 -1 X[4] x[1] -1 X[5] x[5] w1 -1 -1 X[6] x[3] w2 -1 -1 X[7] x[7] w2 w3 -1 -1 -1
14
Parallel radix 2 FFT Assume number of elements and p number of processes [2] 1- The processes permute the input sequence and rearrange the indices. O(n/p) at each process. 2- Each process performs the first log n- log p iterations of FFT ( multiplications) 3-Final log p and swapping values with partners. n/p Log n/p Log p
15
Result and Evaluation We used Thor systems at Western Michigan university for execute implementation and performance evaluation.
16
Execution
17
TourqueSecript Serial
18
TourqueSecript Parallel
19
Serials
20
SERIAL
21
2 Threads
22
2 Threads
23
4 Threads
24
4 Threads
25
8 Threads
26
8 Threads
27
16 Threads
28
16 Threads
29
32 Threads
30
32 Threads
31
64 Threads
32
64 Threads
33
Serial Vs. Parallel
34
Speed Up
35
Efficiencies
36
Conclusion Discrete Fourier Transform (DFT) is a type of Fourier Transform with time complexity of O(N2). The enhancement of DFT is FFT by reduce operation counts, and make it easy to parallel to get time complexity of O (N log N). Many FFT algorithm and package were proposed with a verity of dimension such as: Fast Fourier Transform in the west package (FFTW). Radix-2 algorithm. Radix-4 algorithm and so on. Parallel FFT is efficient when n is large. FFT has good implementation using Butterfly. Parallel FFT can implemented using MPI, OpenMP, and Cuda. Using OpenMP we get Speed-up with factor of 7 and its related to number of threads.
37
References [1] B. LIU, 'Parallel Fast Fourier Transform'. [Online]. Available: [Accessed: 01- Apr ]. [2] W. Petersen and P. Arbenz, Introduction to parallel computing. Oxford: Oxford University Press, 2004. [3]E. Chu and A. George, Inside the FFT black box. Boca Raton, Fla.: CRC Press, 2000. [4]B. Van Veen, 'The Fast Fourier Transform Algorithm', YouTube, [Online]. Available: [Accessed: 02- Apr- 2015].
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.