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
DIPLOMSKI RADUbrzanje Cooley-Tukey algoritma
pomoću Maxeler mašine
Kandidat: Nemanja Trifunović 346/2010Mentor: Profesor dr. Veljko Milutinović
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
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
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
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
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
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
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
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
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
Grafička ilustracija protočne obrade radix 2 algoritma. 10/22
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
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
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
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
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
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
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
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
Grafička ilustracija kernela19/22
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
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
Pitanja i odgovoriHvala na pažnji