1 / 23

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

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

cheng
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Postavka problema Ciljevi rada su projektovanje i implementacija: • Najbržeg mogućeg sistema za izračunavanje brze Furijeovetransformacije koristeći Maxeler mašinu. • Sistema koji će svojim performansama nadmašiti performanse trenutno postojećih rešenja ovog problema. 2/22

  4. Pogodnosti izračunavanja brze Furijeove transformacijepomoć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. 3/22

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

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

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

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

  9. Formalna analiza Radix 2 Cooley-Tukey algoritam radi na sledeći način: • Ulaznu sekvencu deli na dve jednake podsekvencetako što parni elementi čine jednu,a neparni elementi drugu sekvencu. • Zatim na osnovu izračunatih DFT-ova podsekvenciračuna DFT cele sekvence. 8/22

  10. 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. Formalna analiza U radu je dato detaljno izvođenje sledeće formule. 9/22

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

  12. 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 najboljejavno dostupne implementacije 11/22

  13. Generisani su grafici: • Koji porede performanse Maxeler implementacijesa drugim javno dostupnim implementacijamaFFT algoritma. • Vremena izvšavanjau zavisnosti od broja uzastopno izračunatih FFT-ova(za slučajeve kad je ulazna sekvenca veličine 8, 16, 32 i 64odabiraka). • Ubrzanja dobijenog korišćenjem Maxeler mašineu odnosu na izvršavanje naprocesoru u zavisnosti od broja uzastopno izračunatih FFT-ova(za slučajeve kad je ulazna sekvenca veličine 8, 16, 32 i 64odabiraka). 12/22

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

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

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

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

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

  19. Analiza implementacije Maxeler implementacija Cooley-Tukey algoritma se sastoji od: • Preuređivanja ulazne sekvence u bit obrnuti poredak i • Radix 2 algoritma. 18/22

  20. Grafička ilustracija kernela 19/22

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

  22. Zaključak • Pokazano je da predloženo rešenjeima očekivane performansei 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

  23. Pitanja i odgovori Hvala na pažnji

More Related