Akcelerace grafických algoritmů pomocí koprocesoru NEON
Loading...
Date
Authors
Kratochvíl, Radim
ORCID
Advisor
Referee
Mark
C
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Cílem této práce je prozkoumat možnosti koprocesoru NEON. Porovnávají se grafické algoritmy napsané v jazyce C, jazyce symbolických adres, jazyce C s využitím intrinsických funkcí a automaticky vektorizovaný kód. Hlavním zjištěním je, že jde zkrátit délku výpočtu až 60 krát a díky tomu by bylo možné tyto algoritmy provádět v reálném čase na HD videu.
The aim of this work is to examine capabilities of NEON coprocessor. Various implementations of the same algorithm are compared: language C, assembly language, language C with intinsic functions and automatically vectorized code. Main conslusion is, that computation time can be reduced up to 60 times, allowing real-time HD video processing.
The aim of this work is to examine capabilities of NEON coprocessor. Various implementations of the same algorithm are compared: language C, assembly language, language C with intinsic functions and automatically vectorized code. Main conslusion is, that computation time can be reduced up to 60 times, allowing real-time HD video processing.
Description
Citation
KRATOCHVÍL, R. Akcelerace grafických algoritmů pomocí koprocesoru NEON [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2015.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační technologie
Comittee
prof. Ing. Lukáš Sekanina, Ph.D. (předseda)
prof. Ing. Miroslav Švéda, CSc. (místopředseda)
Ing. František Grézl, Ph.D. (člen)
Ing. Martin Hrubý, Ph.D. (člen)
doc. Ing. Jiří Jaroš, Ph.D. (člen)
Date of acceptance
2015-06-15
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm C. Otázky u obhajoby: Zkoušel jste upravovovat i větší obrázky, které se již nevejdou do cache? Na jaké velikosti obrázku jste vlastně testoval? Proč jste použil v C kódu 32b int, zatímco v asm kódu 8/16b? Jak daleko si myslíte, že jste od teoreticky maximálního výkonu koprocesoru NEON (efektivita implementace)? Uvažoval jste i o pokročilých knihovnách pro vektorizaci (OpenMP, vector classes, atd.)? Zkoumal jste nějaké další výkonnostní metriky, mimo času vykonání (FLOPS/FLIPS, cache miss, unit stall)? V textu se vyskytuje tvrzení: "kód napsaný v jazyce symbolických adres vykazuje stabilní urychlení výpočtu díky označení kódu jako volatile" (strana 30). Jak tomu mám rozumět? Jaký vliv má označení volatile na rychlost kódu? V textu tvrdíte, že intrinsic implementace byla pomalejší, z důvodu členění kódu do funkcí. Dále tvrdíte, že funkce byly inlinovány. Jak je tedy možné, že má členění do funkcí vlastnost vliv na rychlost?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení