GPU jako levný výpočetní akcelerátor pro obrazovou JPEG2000 kompresi Jiří Matela ORS 2011 Karviná, 2011 10 21
PROPOJENÍ 3
UltraGrid
nízkolatenční,
nízkolatenční, vysoké rozlišení,
nízkolatenční, vysoké rozlišení, (3D),
nízkolatenční, vysoké rozlišení, (3D), Linux,
nízkolatenční, vysoké rozlišení, (3D), Linux, Mac,
nízkolatenční, vysoké rozlišení, (3D), Linux, Mac, vzdálená výuka,
nízkolatenční, vysoké rozlišení, (3D), Linux, Mac, vzdálená výuka, filmový postprocesing
Potřeba komprese
Nízká latence & Vysoká propustnost
+
Kompresní standard JPEG2000 Následník standardu JPEG Vynikající kompresní vlastnosti Ztrátová i bezztrátová komprese Odolnost proti chybám a výpadkům při přenosech Standard v mnoha oblastech (DCI)
JPEG2000 Schéma Code-blocks -> EBCOT Tier-1
DWT Massively Parallel Design DWT na černobílém obrázku v HD na GPU 0.2ms (NVIDIA GeForce 580GTX) J.Matela. GPU-Based DWT Acceleration for JPEG2000. MEMICS, 2009 Stránka projektu: http://gpudwt.googlecode.com
DWT Massively Parallel Design CPU 55ms (Single threaded Core i7 @ 3GHz) J.Matela. GPU-Based DWT Acceleration for JPEG2000. MEMICS, 2009 Stránka projektu: http://gpudwt.googlecode.com
DWT Massively Parallel Design Zrychlení 275 Nevěřte tomu J.Matela. GPU-Based DWT Acceleration for JPEG2000. MEMICS, 2009 Stránka projektu: http://gpudwt.googlecode.com
Context Modeling reformulovaný pro GPU J.Matela, V. Rusňák, P. Holub. Efficient JPEG2000 EBCOT Context Modeling for Massively Parallel Architectures. DCC, 2011 J.Matela, V. Rusňák, P. Holub. GPU-Based Sample-Parallel Context Modeling for EBCOT in JPEG2000. MEMICS, 2011
Paralelní design a implementace J.Matela, V. Rusňák, P. Holub. Efficient JPEG2000 EBCOT Context Modeling for Massively Parallel Architectures. DCC, 2011 J.Matela, V. Rusňák, P. Holub. GPU-Based Sample-Parallel Context Modeling for EBCOT in JPEG2000. MEMICS, 2011
OpenJPEG (CPU) JasPer (CPU) Kakadu (CPU) CUJ2K (GPU) Performance compared to...
Context Modeling 800 Performance [ms] 600 400 200 0 642 ms, 71 599 ms, 66 OpenJPEG JasPer 98 ms 10 94 ms 9 Kakadu CUJ2K 9 ms, ref bpcuda
Aritmetické kódování J.Matela, M. Šrom, P. Holub. Low GPU Occupancy Approach to Fast Arithmetic Coding in JPEG2000. MEMICS LNCS, 2011
Hrubá datová granularita Datově závislé větvení
Metody akcelerace Přechod k registrům (+) (Opravená) Vylepšená renormalizace (+) Loop unrolling (-) Suma prefixů (-) Nahrávání dat po větších kusech (+) Nízké obsazení karty (Low-occupancy) (+)
Metody akcelerace Přechod k registrům (+) (Opravená) Vylepšená renormalizace (+) Loop unrolling (-) Suma prefixů (-) Nahrávání dat po větších kusech (+) Nízké obsazení karty (Low-occupancy) (+)
Metody akcelerace Přechod k registrům (+) (Opravená) Vylepšená renormalizace (+) Loop unrolling (-) Suma prefixů (-) Nahrávání dat po větších kusech (+) Nízké obsazení karty (Low-occupancy) (+)
Metody akcelerace Přechod k registrům (+) (Opravená) Vylepšená renormalizace (+) Loop unrolling (-) Suma prefixů (-) Nahrávání dat po větších kusech (+) Nízké obsazení karty (Low-occupancy) (+)
Metody akcelerace Přechod k registrům (+) (Opravená) Vylepšená renormalizace (+) Loop unrolling (-) Suma prefixů (-) Nahrávání dat po větších kusech (+) Nízké obsazení karty (Low-occupancy) (+)
Metody akcelerace Přechod k registrům (+) (Opravená) Vylepšená renormalizace (+) Loop unrolling (-) Suma prefixů (-) Nahrávání dat po větších kusech (+) Nízké obsazení karty (Low-occupancy) (+)
Aritmetické kódování HD obrazu 400 Performance [ms] 300 200 100 0 316 ms, 35 178 ms, 19 OpenJPEG JasPer 84 ms, 9 49 ms, 5 Kakadu CUJ2K 9 ms, ref bpcuda
EBCOT Tier-1 processing time for HD image Performance [ms] 1,000 500 958 ms, 50 777 ms, 41 182 ms, 9 143 ms, 8 0 OpenJPEG JasPer Kakadu CUJ2K ( -> IEEE Transaction on Multimedia) 19 ms, ref bpcuda
S čím jsme se potýkali... Dobrá znalost GPU architektury Programátorský overhead Inicializace zařízení Management pamětí a Pamět ové operace
... ale především Udržitelnost kódu (novější GPU architektury) Optimalizace využití zdrojů
+ +
Abstrakce na vyšší úrovni Čitelnější a snadnější zápis Překlad pro konkrétní architekturu (Obecne složitý problém) Ověřené techniky (Sliding Window)
Abstrakce na vyšší úrovni Čitelnější a snadnější zápis Překlad pro konkrétní architekturu (Obecne složitý problém) Ověřené techniky (Sliding Window)
Abstrakce na vyšší úrovni Čitelnější a snadnější zápis Překlad pro konkrétní architekturu (Obecne složitý problém) Ověřené techniky (Sliding Window)
Abstrakce na vyšší úrovni Čitelnější a snadnější zápis Překlad pro konkrétní architekturu (Obecne složitý problém) Ověřené techniky (Sliding Window)
Děkuji vám za pozornost! <matela@ics.muni.cz> http://www.sitola.cz/