fft using open- mp done by: hussein salim qasim & tiba zaki abdulhameed supervised by: dr. ajay...

38
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 1

Upload: martin-hood

Post on 12-Jan-2016

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 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

1

FFT USING OPEN-MPDONE BY: HUSSE IN S AL IM QAS IM & T IBA ZAK I ABDULHAMEED

SUPERVISED BY: DR. A JAY GUPTA

CS 5260 INTRODUCTION TO PARALLEL COMPUTING

APRIL 20 ,2015

Page 2: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

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.

Page 3: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

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.

Page 4: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

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

Page 5: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

5

Discrete Fourier Transform (DFT) AlgorithmFT of analogue signal x(t) [4].

(DFT) of a discrete-time signal x(nT)

For each k (N complex multiplication, N-1 complex adds)

dtexfkF tj)(

1

0

2N

n

nkNj

enxkX

nxnTx

Nk

1,1,0

2nO

Page 6: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

6

For N samples of x we have N frequencies representing the signal

X(0) = x[0]WN0 + x[1]WN

0*1 +…+ x[N-1]WN0*(N-1)

X(1) = x[0]WN0 + x[1]WN

1*1 +…+ x[N-1]WN1*(N-1)

:

X(k) = x[0]WN0 + x[1]WN

k*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)

Page 7: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

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

*)()( kn

Nkn

NN WWWnNk

nNkNN

knN WWW

nNk )()(

12 kjN eWkN

NNj

We

2

1

0

N

n

nkNWnxkX

nnO log

Q1:Give three application of FFT?

Page 8: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

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.

Page 9: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

9

Example

primitive root of unity of n =n ( is the smallest integer of k=1, ..., n for which r^k=1) [1].

Page 10: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

10

Divide and conquer Build a big DFT from smaller ones [3]

Assume

Separate x[n] into even and odd –indexed subsequences

mN 2

12/

0

)12(12/

0

)2(1

0

]12[]2[*][][N

r

rkN

N

r

rkNN

N

n

WrXWrXWnXkXkn

Even rs

n=2r

Oddrs

12/

0

212/

0

2 )](12[)](2[N

r

krN

kN

N

r

krN WrXWWrX

12/

0

)1(212/

0

2 )](12[)](2[N

r

rkN

N

r

krN WrXWrX

Page 11: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

11

Divide and conquer Cont.

But

12/

0

212/

0

2 )](12[)](2[N

r

krN

kN

N

r

krN WrXWWrX

2/2/

22)

2(

2N

Nj

Nj

N WeeW

12/

02/

12/

02/ )](12[)](2[

N

r

krN

kN

N

r

krN WrXWWrX

N/2 DFT of even indexed samplesXe[k] [3]

N/2 DFT of odd indexed samplesXo[k]

Page 12: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

12

Parallel radix 2 FFT

Q2:What is the best network structure that fits Radix2?

Page 13: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

13

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

N-point DFTN/2 point DFTN/4 point DFT

X[0]

X[1]

X[2]

X[3]

X[4]

X[5]

X[6]

X[7]

x[0]

x[4]

x[2]

x[6]

x[1]

x[5]

x[3]

x[7]

-1

-1

-1

-1

-1

-1

-1

-1

w2

w2

w2

w1

w3-1

-1

-1

-1

N=8-point radix-2 DIT-FFT

Page 14: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

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

Page 15: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

15

Result and Evaluation We used Thor systems at Western Michigan university for execute implementation and performance evaluation.

Page 16: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

16

Execution

Page 17: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

17

TourqueSecript Serial

Page 18: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

18

TourqueSecript Parallel

Page 19: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

19

Serials

Page 20: 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

SERIAL

2 4 8 16 32 64128

256512

10242048

40968192

1638432768

65536

131072

262144

524288

1048576

2097152

4194304

8388608

16777216

33554432

67108864

134217728

268435456

5368709120

50

100

150

200

250

300

350

400

Serial

Serial

N SIZE

EXEC

UTIO

N TI

ME

Page 21: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

21

2 Threads

Page 22: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

22

2 Threads

2 4 8 16 32 64128

256512

10242048

40968192

1638432768

65536

131072

262144

524288

1048576

2097152

4194304

8388608

16777216

33554432

67108864

134217728

2684354560

20

40

60

80

100

120

2 THREADS

2 Th

N SIZE

EXEC

UTIO

N TI

ME

Page 23: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

23

4 Threads

Page 24: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

24

4 Threads

2 4 8 16 32 64128

256512

10242048

40968192

1638432768

65536

131072

262144

524288

1048576

2097152

4194304

8388608

16777216

33554432

67108864

134217728

2684354560

10

20

30

40

50

60

70

4 THREADS

4Th

N SIZE

EXEC

UTIO

N TI

ME

Page 25: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

25

8 Threads

Page 26: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

26

8 Threads

2 4 8 16 32 64128

256512

10242048

40968192

1638432768

65536

131072

262144

524288

1048576

2097152

4194304

8388608

16777216

33554432

67108864

134217728

2684354560

5

10

15

20

25

30

35

40

8 THREASD

8 Th

N SIZE

EXEC

UTIO

N TI

ME

Page 27: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

27

16 Threads

Page 28: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

28

16 Threads

2 4 8 16 32 64128

256512

10242048

40968192

1638432768

65536

131072

262144

524288

1048576

2097152

4194304

8388608

16777216

33554432

67108864

134217728

2684354560

5

10

15

20

25

30

35

40

45

16 THREADS

16 Th

N SIZE

EXEC

UTIO

N TI

ME

Page 29: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

29

32 Threads

Page 30: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

30

32 Threads

2 4 8 16 32 64128

256512

10242048

40968192

1638432768

65536

131072

262144

524288

1048576

2097152

4194304

8388608

16777216

33554432

67108864

134217728

2684354560

5

10

15

20

25

30

35

32 THREADS

Series1

N SIZE

EXEC

UTIO

N TI

ME

Page 31: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

31

64 Threads

Page 32: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

32

64 Threads

2 4 8 16 32 64128

256512

10242048

40968192

1638432768

65536

131072

262144

524288

1048576

2097152

4194304

8388608

16777216

33554432

67108864

134217728

2684354560

5

10

15

20

25

30

3564 THREADS

64 Th

N size

Exec

ution

Tim

e

Page 33: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

33

Serial Vs. Parallel

2 4 8 16 32 64128

256512 1 2 5 1 2 4 8 1 3 6 13 26

0

20

40

60

80

100

120

140

160

180

Serial

4Th

16 Th

64 Th

Serial Vs. Parallel

Serial 2 Th 4Th 8 Th 16 Th 32 Th 64 Th

N size

Tim

e

Thra

ds N

umbe

r

Page 34: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

34

Speed Up

N2 N4 N8N16

N32N64 N N N N N1 N3 N6 N1 N2 N5 N1 N2 N4 N8

N16N33

N67N13

N260

1

2

3

4

5

6

7

S2S8

S32

SPEED-UP

S2 S4 S8 S16 S32 S64N Size

Tim

e

Thre

ads N

umbe

rs

Page 35: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

35

Efficiencies

E2 E8E32

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

N2N256 N3

N419...

FFT Parallel Efficiencies

N2 N4N8 N16N32 N64N128 N256N512 N1024N2048 N4096N8192 N16384N32768 N65536N131072 N262144N524288 N1048576N2097152 N4194304N8388608 N16777216N33554432 N67108864N134217728 N268435456

Threads Numbers

Tim

e

N siz

e

Page 36: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

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.

Page 37: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

37

References [1] B. LIU, 'Parallel Fast Fourier Transform'. [Online]. Available: http://www.massey.ac.nz/~mjjohnso/notes/59735/seminars/03278999.pdf. [Accessed: 01- Apr- 2015].

[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, 2012. [Online]. Available: https://www.youtube.com/watch?v=EsJGuI7e_ZQ. [Accessed: 02- Apr- 2015].

Page 38: FFT USING OPEN- MP DONE BY: HUSSEIN SALIM QASIM & TIBA ZAKI ABDULHAMEED SUPERVISED BY: DR. AJAY GUPTA CS 5260 INTRODUCTION TO PARALLEL COMPUTING APRIL

38