23
DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine Kandidat: Nemanja Trifunović 346/2010 Mentor: Profesor dr. Veljko Milutinović

DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

  • Upload
    cheng

  • View
    70

  • Download
    6

Embed Size (px)

DESCRIPTION

DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine. Kandidat: Nemanja Trifunović 346/2010 Mentor: Profesor dr. Veljko Milutinović. Uvod. Cooley-Tukey algoritam Algoritam za izračunavanje brze Furijeove transformacije. Divide and conquer - PowerPoint PPT Presentation

Citation preview

Page 1: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

DIPLOMSKI RADUbrzanje Cooley-Tukey algoritma

pomoću Maxeler mašine

Kandidat: Nemanja Trifunović 346/2010Mentor: Profesor dr. Veljko Milutinović

Page 2: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Uvod

● Cooley-Tukey algoritam○ Algoritam za izračunavanje

brze Furijeove transformacije.○ Divide and conquer○ Primene: digitalna obrada signala,

telekomunikacije, analiza zvučnih signala, ...

● Maxeler platforma○ Data flow

(vs Control flow)○ FPGA

Primer Furijeove transformacije.

(Izvor: https://en.wikipedia.org/wiki/File:Rectangular_function.svg; https://en.wikipedia.org/wiki/File:Sinc_function_(normalized).svg, Ilustracija je izdata pod Creative Commons licencom)

1/22

Page 3: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Postavka problema

Ciljevi rada su projektovanje i implementacija:

● Najbržeg mogućeg sistema za izračunavanje brze Furijeove transformacije

koristeći Maxeler mašinu.

● Sistema koji će svojim performansama nadmašiti performanse trenutno postojećih rešenja ovog problema.2/22

Page 4: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Postavka problema

Pogodnosti

● Veća brzina izračunvanja.

● Manja potrošnja struje.● Manje zauzeće prostora.

Uslov

● Ogromne količine podataka.

Pogodnosti izračunavanja brze Furijeove transformacijepomoću Maxeler mašine

3/22

Page 5: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Uslovi i pretpostavke

● Korišćena Maxeler mašina○ Dve Maxeler kartice

sa oznakom MAX3424A.

● U eksperimentima sa multiprocesorskim sistema je korišćeno samo jedno procesorsko jezgro.

4/22

Page 6: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Pregled postojećih rešenja

● FFT algoritmi: Prime-factor, Bruun-ov, Rader-ov, Winograd, Bluestein-ov, …

● Vremenska složenost: O(N log N).

● Poređenje performansi javno dostupnih implementacija.

○ Matteo Frigo i Steven G. Johnson (sa univerziteta MIT)

5/22

Page 7: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Grafička ilustracija eksperimenata koje su radili Matteo Frigo i Steven G. Johnson. (Izvor: http://www.fftw.org/speed/Pentium4-3.60GHz-icc) 6/22

Page 8: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Predloženo rešenje

● Paralelizovani radix 2 algoritam.

● Pipeline dubine O(log N) gde je N dužina ulazne sekvence.

● Inicijalno kašnjenje izračunavanja je srazmerno sa dužinom pipeline-a.

● Posle inicijalnog kašnjenja po jedan rezultat u svakom taktu.

7/22

Page 9: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Formalna analiza

Radix 2 Cooley-Tukey algoritam radi na sledeći način:

1. Ulaznu sekvencu deli na dve jednake podsekvencetako što parni elementi čine jednu,a neparni elementi drugu sekvencu.

2. Zatim na osnovu izračunatih DFT-ova podsekvenciračuna DFT cele sekvence.

8/22

Page 10: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Formalna analizaU radu je dato detaljno izvođenje sledeće formule.

● DFT parnih odabiraka ulazne sekvence označen je sa Ek,

● DFT neparnih odabiraka ulazne sekvence označen je sa Ok i

● e-2πk/N je označeno sa Wkn. 9/22

Page 11: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Grafička ilustracija protočne obrade radix 2 algoritma. 10/22

Page 12: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Merenje performansi predložene implementacije i analiza dobijenih podataka

Vrste urađenih testova:

● Računanje brze Furijeove transformacije za 100, 1.000, 10.000, 1.000.000 i 10.000.000 uzastopnih ulaznih sekvenci dužina 8, 16, 32 i 64 odabiraka.

● Maxeler implementacija vs CPU implementacije

● Maxeler implementacija vs najbolje javno dostupne implementacije

11/22

Page 13: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Generisani su grafici:

● Koji porede performanse Maxeler implementacije sa drugim javno dostupnim implementacijama FFT algoritma.

● Vremena izvšavanja u zavisnosti od broja uzastopno izračunatih FFT-ova(za slučajeve kad je ulazna sekvenca veličine 8, 16, 32 i 64 odabiraka).

● Ubrzanja dobijenog korišćenjem Maxeler mašine u odnosu na izvršavanje na procesoru u zavisnosti od broja uzastopno izračunatih FFT-ova(za slučajeve kad je ulazna sekvenca veličine 8, 16, 32 i 64 odabiraka).

12/22

Page 14: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Prosečna vremena izvršavanja u sekundama javno dostupnih algoritama za izračunavanje brze Furijeove transformacije na različitim arhitekturama za ulaznu sekvencu dužine osam odabiraka.

13/22

Page 15: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Grafik dobijenog ubrzanja Maxeler implementacije u odnosu na referentnu mikroprocesorsku realizaciji pri računanja brze Furijeove transformacije u zavisnosti od broja odabiraka u ulaznoj sekvenci. 14/22

Page 16: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Vreme računanja uzastopnih brzih Furijeovih transformacija izraženo u sekundama u zavisnosti od broja izračunatih uzastopnih brzih Furijeovih transformacija za ulazne sekvence dužine šesnaest odabiraka za Maxeler implementaciju i referentnu implementaciju. 15/22

Page 17: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Grafik dobijenog ubrzanja Maxeler implementacije Cooley-Tukey algoritma u odnosu na referentnu mikroprocesorsku implementaciju Cooley-Tukey algoritma pri računanja uzastopnih brzih Furijeovih transformacija u zavisnosti od broja izračunatih uzastopnih brzih Furijeovih transformacija za ulazne sekvence šesnaest odabiraka. 16/22

Page 18: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Analiza skalabilnosti i uskih grla predloženog rešenja

● Transfer podataka na Maxeler karticu i sa Maxeler kartice

● Na jednoj Maxeler kartici ne postoji dovoljno hardverskih resursa

● Na Maxeler mašini nema dovoljno kartica

17/22

Page 19: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Analiza implementacije

Maxeler implementacija Cooley-Tukey algoritma se sastoji od:

1. Preuređivanja ulazne sekvence u bit obrnuti poredak i

2. Radix 2 algoritma.

18/22

Page 20: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Grafička ilustracija kernela19/22

Page 21: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Implementacioni detalji

● Postoje dva ulazna i dva izlazna toka podataka● Tokovi su tipa arrayType

DFEType floatType = dfeFloat(8, 24);DFEArrayType<DFEVar> arrayType =

new DFEArrayType<DFEVar>(floatType, n);

● Koeficijenti Wnk se ne računaju u Maxeler mašini

● Parametri:○ N○ first_level○ last_level

20/22

Page 22: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Zaključak

➔ Pokazano je da predloženo rešenjeima očekivane performanse i da ispravno funkcioniše.

➔ Performanse predloženog rešenja su prevazišle performanse svih javno dostupnih implementacija brze Furijeove transformacije.

➔ Da bi se ostvarila pomenuta ubrzanja neophodno je raditi više uzastopnih izračunavanja brze Furijeove transformacije.

21/22

Page 23: DIPLOMSKI RAD Ubrzanje Cooley-Tukey algoritma pomoću Maxeler mašine

Pitanja i odgovoriHvala na pažnji