IBM - CVUT Student Research Projects Implementace filtrů FIR a IIR Jaroslav Sýkora

Slides:



Advertisements
Podobné prezentace
Hard Disk Drive & jeho alternativy
Advertisements

Tato prezentace byla vytvořena
Rozdělení registrů.
Sběrnice vývoj a charakteristika. Motherboard (základní deska)
Kalmanuv filtr pro zpracování signálů a navigaci
Výukový materiál byl zpracován v rámci projektu OPVK 1.5 EU peníze školám registrační číslo projektu:CZ.1.07/1.5.00/ Autor:Mgr. Stanislava Kubíčková.
Varianty Turingova stroje Výpočet funkcí pomocí TS
Sběrnice.
MATLAB® ( Funkce v Matlabu ).
Semestrální práce Analýza zpoždění signálů v 2-kanálové databázi řeči pomocí vzájemné korelace A2M99CZS Václav Dajčar, Roman VondráčekPraha, 2010.
J a v a Začínáme programovat Lucie Žoltá pole řetězec debugr.
J a v a Začínáme programovat Lucie Žoltá Přetěžování metod, rekurze.
Systémové sběrnice PC Kateřina Pásková 4.Z1.
Hana Kotinová Struktura a cíl práce Metody předzpracování dat Systémy předzpracování dat Historie vývoje DPT Jak program pracuje Budoucnost.
Informatika I 7.a 8. hodina 4. týden.
S BĚRNICE PRO GRAF. KARTY Funkce graf. karet Rendering.
TMF045 letní semestr 2005/2006 II Časová propagace vlnové funkce na mřížce I. (práce s momentovou reprezentací) (Lekce II)
PicoBlaze, MicroBlaze, PowerPC
Paměťové obvody a vývoj mikroprocesoru
Tato prezentace byla vytvořena
Základní vlastnosti A/D převodníků
Tato prezentace byla vytvořena
Neuronové sítě na grafických akcelerátorech Ondřej Zicha, Jiří Formánek.
Ukázka odstranění rekurze Přemysl Tišer
Charakteristiky výstupního procesu systémů hromadné obsluhy Martin Meca ČVUT, Fakulta strojní.
Rozdělení registrů.
Sekvenční logické obvody
Srovnání výsledků testů žáků 9. tříd základních škol v letech 2005 a 2011 Koho a na co jsme se ptali Filip Karel, Šimon Stiburek, Jan Hučín Scio Praha.
Technická zpráva z laboratorního měření
Vista Speech API Wizard
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
PCI Express Pavel Stianko. 2 Požadavky doby Vysoká přenosová rychlost Quality of service – data musí být v určitý čas přístupná pro zpracování Zvyšování.
Název úlohy: 9.9 Nabíhání zdrojů světla. Fyzikální princip Každý zdroj světla potřebuje určitou dobu po jeho zapnutí k přejití do plného provozního režimu.
Analogově digitální převodník
Multithread programming Java vs. OpenMP Pavel Zavoral Martin Kugler.
Hardware.
Přesnost a spolehlivost v účelových sítích Bc. Jindřich Poledňák.
Akcelerace genetických algoritmů na grafických kartách 4. část Mikuláš Dítě Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti.
 Zkoumáním fyzikálních objektů (např. polí, těles) zjišťujeme že:  zkoumané objekty mají dané vlastnosti,  nacházejí se v určitých stavech,  na nich.
Milan Ptáček, Robert Lufinka, Oldřich Nič 2. projekt - sběrnice.
Jaroslav Krahula.  K čemu se využívají?  Kolik portů má 8051?  Můžeme porty využívat obousměrně?
Pokročilé architektury počítačů (PAP_06.ppt) Karel Vlček, katedra Informatiky, FEI VŠB Technická Univerzita Ostrava.
Teorie psychodiagnostiky a psychometrie
Řešitel: Fialík Ondřej Vedoucí práce: Ing. Stankovič Jan Ph.D.
IBM - CVUT Student Research Projects Google search by voice Tomáš Losert – Karel Beyr –
Vstupně-výstupní porty
Anti – Aliasing Ondřej Burkert atrey.karlin.mff.cuni.cz/~ondra/stranka.
RAM Random Acess Memory. RAM? Random Acess Memory Read Write Memory Statické - tranzistory Dynamické – kondenzátory Propustnost v řádech GB/s.
Pokročilé architektury počítačů (PAP_05.ppt)
Algoritmy a struktury neuropočítačů ASN - P14 Hopfieldovy sítě Asociativní paměti rekonstrukce původních nezkreslených vzorů předkládají se neúplné nebo.
Prohledávání dokumentů ve vektorovém modelu Pavel Moravec.
Service Science 2014 © 2003 IBM Corporation 1Mainframe History4/26/ – ASCC (The Harvard Mark I) Násobení: 5.7 s Dělení 15.3 s 23 desetinných míst.
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Měření transmise optických a laserových materiálů Irena Havlová Štěpánka Mohylová Lukáš Severa Vladimír Sirotek.
Paralelizace algoritmu. Single Instruction, Single Data stream (SISD) „tupé“ procesory Single Instruction, Multiple Data streams (SIMD) maticové procesory.
ČVUT FEL Katedra počítačů Matematické a fyzikální výpočty na grafických kartách (DirectX 9 + DirectX 10) Bc. Jindřich Gottwald vedoucí: Ing. Ivan Šimeček,
Jednotky informácí a paměťová média Jan Čech, Ondřej Janda, Vinh Ngo The Jiří Hadwiger,Tomáš Lupač, Libor Macháček.
ALU Aritmeticko-logická jednotka
Číslo projektu OP VK Název projektu Moderní škola Název školy
Autor: Mgr. Pavla Kofroňová
Logická organizace paměti
Číslicové filtry Honza Černocký, ÚPGM.
Softwarové rádio cesta k moderní komunikační technice
1. ročník oboru Mechanik opravář motorových vozidel
Číslicové měřící přístroje
Neuronové sítě.
Algoritmizace Dynamické programování
ALG 14 Vícedimenzionální data Řazení vícedimenzionálních dat
SPEKTRÁLNÍ ANALÝZA ČASOVÝCH ŘAD
Transkript prezentace:

IBM - CVUT Student Research Projects Implementace filtrů FIR a IIR Jaroslav Sýkora

page 2 Filtr FIR na SPU výpočet 4 výstupního hodnot najednou: SIMD výstupy jsou nezávislé -> MIMD paralelizace

page 3 FIR – SIMD implementace for (i = 0; i < nvb; i++) { vector float bi = b[i]; vector float xin2 = x[nvb+n-i-1]; vector float yr01 = spu_add(yr0, yr1); vector float x3 = spu_shuffle(xin, xin, x3_pat); vector float x0 = spu_shuffle(xin2, xin, x0_pat); vector float x1 = spu_shuffle(xin2, xin, x1_pat); vector float x2 = spu_shuffle(xin2, xin, x2_pat); vector float yr23 = spu_add(yr2, yr3); yn = spu_add(yn, yr01); xin = xin2; vector float y0 = spu_mul(bi, x0); vector float y1 = spu_mul(bi, x1); vector float y2 = spu_mul(bi, x2); vector float y3 = spu_mul(bi, x3); yn = spu_add(yn, yr23); vector float yr0a = spu_shuffle(y0, y1, yr0a_pat); vector float yr1a = spu_shuffle(y0, y1, yr1a_pat); /*vector float*/ yr0 = spu_or(yr0a, yr0b); /*vector float*/ yr1 = spu_or(yr1a, yr1b); /*vector float*/ yr2 = spu_or(yr2a, yr2b); /*vector float*/ yr3 = spu_or(yr3a, yr3b); } vector float yr01 = spu_add(yr0, yr1); vector float yr23 = spu_add(yr2, yr3); yn = spu_add(yn, yr01); yn = spu_add(yn, yr23); y[n] = yn; } čtení x a b posuny násobení transpozice sumy 4 výsledky

page 4 Měření FIR AthlonXP vs PPU vs SPU; (gcc -O3) data: a) 3.5MB / 128p; b) 18MB / 128p zpomalení při více SPU – problém s paměťovou sběrnicí? zrychlení až 138x oproti PPU v případě b)!

page 5 Stonásobné zrychlení? SPU: f=3.2GHz, vstupní soubor: d=18MB (1 vzorek = 16bit) #vektorů: v=d/2/4= (vektor = 4 float) naměřený čas na 18MB: t=30ms čas na jeden vektor: t 1v =t/v=13ns #taktů na jeden vektor: t 1v /(1/f) = 42 (+- chyba měření času) závěry: víme, že SPU to může stihnout nevíme, proč je PPU pomalé – srovnání s AthlonXP, které má nižší frekvenci, ale pokročilejší architekturu

page 6 Filtr IIR na SPU pomocná paměť z[] o délce length(a) nelze počítat paralelně -> pouze SIMD FIR IIR rekurze!

page 7 Měření IIR filtr je rekurzivní, takže nelze počítat paralelně na více SPU data: a) 3.5MB / 8p; b) 18MB / 8p zrychlení až 26x oproti PPU v případě b)

page 8 Filtr Savitzky-Golay centrovaný (tedy nekauzální) FIR filtr okrajové podmínky – ošetřen náběh a doběh filtru – počítáno na PPU, rovnovážný stav na SPU jedna obecná funkce implementuje SavGol a klouzavý průměr sama používá SPU-FIR popsaný na začátku prezentace

page 9 Závěr FIR: implementace na SPU je dobře SIMDizovatelná i paralelizovatelná IIR: dá se těžko paralelizovat (inherentně sekvenční) implementovány další varianty FIRu: klouzavý průměr, Savitzky-Golay: jen jiný “frontend” pro základní FIR Otázky?