Akcelerace grafických algoritmů pomocí koprocesoru NEON

Loading...
Thumbnail Image

Date

Authors

Kratochvíl, Radim

Mark

C

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta informačních technologií

ORCID

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.

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

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO