Presentation is loading. Please wait.

Presentation is loading. Please wait.

FFT USING OPEN-MP Done by: HUSSEIN SALIM QASIM & Tiba Zaki Abdulhameed

Similar presentations


Presentation on theme: "FFT USING OPEN-MP Done by: HUSSEIN SALIM QASIM & Tiba Zaki Abdulhameed"— Presentation transcript:

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].

38


Download ppt "FFT USING OPEN-MP Done by: HUSSEIN SALIM QASIM & Tiba Zaki Abdulhameed"

Similar presentations


Ads by Google