Akcelerace vyhodnocování výrazů pomocí vektorových instrukcí

dc.contributorBajer Lukáš, Mgr. Ph.D. : 68718
dc.contributor.advisorBřezina Jan, doc. Mgr. Ph.D. : 58132
dc.contributor.authorTrnka, Victor
dc.date.accessioned2023-03-16T04:53:43Z
dc.date.available2023-03-16T04:53:43Z
dc.date.committed2023-5-22
dc.date.defense2023-02-01
dc.date.submitted2021-10-12
dc.date.updated2023-2-1
dc.degree.levelIng.
dc.description.abstractTématem této práce je popis způsobu zrychlení a optimalizace vyhodnocování matematických výrazů v BParseru pomocí přidání podpory vektorových instrukcí procesoru. Doposud nebylo možno provádět dostatečně efektivní vyhodnocování matematických výrazů, neboť nebylo možno ovlivnit optimalizaci při překladu související s vektorovým zpracováním a bylo zde i omezení na podporované instrukční sady jednotlivých procesorů z hlediska přenositelnosti.Práce obsahuje informace o tom, co se rozumí pod pojmem parser s tím, že je zahrnut i stručný výčet existujících parserů. Dále je zmíněno, na jakém principu funguje vektorové vyhodnocování výrazů, a připojen je rovněž přehled vektorových instrukčních sad. Práce navazuje výčtem C++ knihoven, které podporují vektorové výpočty, a výběrem nejvhodnější knihovny Vector Class Library. Poté jsou zmíněny všechny nutné úpravy potřebné k vyřešení překážek a chyb, které souvisí s implementací. Práce dále zahrnuje testy přenositelnosti a rychlosti vyhodnocování výrazů.Z výsledků v podobě přehledných grafů z provedených testů rychlosti je zřejmé, že knihovna Vector Class Library přináší velmi dobrý posun v rychlosti a optimalizaci vyhodnocování výrazů v BParseru. Zároveň bylo dosaženo i maximální přenositelnosti programu mezi procesory x86-64 s rozličnými instrukčními sadami.cs
dc.description.abstractThe topic of this paper is to describe how to speed up and optimize the evaluation of mathematical expressions in BParser by adding support for vector processor instructions. Up to now, it has not been possible to perform sufficiently efficient evaluation of mathematical expressions, as the translation optimizations associated with vector processing could not be influenced, and there were limitations on the supported instruction sets of each processor in terms of portability.This paper provides information on what is meant by the term parser, with a brief listing of existing parsers included. Furthermore, the principle on which vector expression evaluation works is mentioned, and a survey of vector instruction sets is also included. The paper continues by listing the C++ libraries that support vector computation and selecting the most appropriate Vector Class Library. Then, any necessary modifications needed to resolve implementation-related obstacles and errors are mentioned. The work also includes tests of portability and speed of expression evaluation.From the results in the form of clear graphs from the speed tests performed, it is clear that the Vector Class Library brings a very good improvement in speed and optimization of expression evaluation in BParser. At the same time, maximum program portability between x86-64 processors with different instruction sets was also achieved.en
dc.description.mark1
dc.format61
dc.format.extentBinární přenositelný soubor test_bin Kopie obrazovky a textové logovací soubory o spuštění test_bin na různých počítačích Detailní výsledky z provedených testů rychlosti
dc.identifier.signatureV 202304750
dc.identifier.urihttps://dspace.tul.cz/handle/15240/167200
dc.language.isocs
dc.relation.isbasedonrenewcommandlabelenumi[theenumi] beginarab item Březina, J.: BParser, online: https://github.com/flow123d/bparser (5.10. 2020) item Shibata, N., Petrogalli, F., 2020. SLEEF: A Portable Vectorized Library of C Standard Mathematical Functions. IEEE Transactions on Parallel and Distributed Systems 31, 1316textendash1327. https://doi.org/10.1109/TPDS.2019.2960333 item Karpiňski, P. and McDonald, J., 2017: A High-Performance Portable Abstract Interface for Explicit SIMD Vectorization, In: PMAM'17: Proceedings of the 8th International Workshop on Programming Models and Applications for Multicores and Manycores,~ 21textendash28. item https://dl.acm.org/doi/10.1145/3026937.3026939 endarab
dc.rightsVysokoškolská závěrečná práce je autorské dílo chráněné dle zákona č. 121/2000 Sb., autorský zákon, ve znění pozdějších předpisů. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem https://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou https://knihovna.tul.cz/document/26cs
dc.rightsA university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act. https://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics https://knihovna.tul.cz/document/26en
dc.rights.urihttps://knihovna.tul.cz/document/26
dc.rights.urihttps://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf
dc.subjectC++cs
dc.subjectSIMDcs
dc.subjectvektorové instrukční sadycs
dc.subjectvyhodnocování výrazůcs
dc.subjectC++en
dc.subjectSIMDen
dc.subjectvector instruction setsen
dc.subjectexpression evaluationen
dc.titleAkcelerace vyhodnocování výrazů pomocí vektorových instrukcícs
dc.titleExpression parser accelerated by vector instructionsen
dc.typediplomová prácecs
local.degree.abbreviationNavazující
local.degree.disciplineIT-N
local.degree.programmeElektrotechnika a informatika
local.degree.programmeabbreviationN2612
local.department.abbreviationNTI
local.facultyFakulta mechatroniky, informatiky a mezioborových studiícs
local.faculty.abbreviationFM
local.identifier.authorM20000174
local.identifier.stag43048
local.identifier.verbis
local.identifier.verbiskpw06705412
local.note.administratorsautomat
local.note.secrecyPovoleno ZverejnitPraci Povoleno ZverejnitPosudky
local.poradovecislo4750
Files
Original bundle
Now showing 1 - 5 of 5
Loading...
Thumbnail Image
Name:
DP_Victor_Trnka_STAG.pdf
Size:
452 KB
Format:
Adobe Portable Document Format
Description:
VSKP
Loading...
Thumbnail Image
Name:
DP_Victor_Trnka_priloha.zip
Size:
808.18 KB
Format:
Unknown data format
Description:
VSKP__priloha
Loading...
Thumbnail Image
Name:
Trnka__posudek_oponenta.pdf
Size:
138.27 KB
Format:
Adobe Portable Document Format
Description:
Posudek_oponenta_VSKP
Loading...
Thumbnail Image
Name:
Trnka__posudek_vedouciho.pdf
Size:
61.57 KB
Format:
Adobe Portable Document Format
Description:
Posudek_vedouciho_VSKP
Loading...
Thumbnail Image
Name:
ProtokolSPrubehemObhajobySTAG.pdf
Size:
39.33 KB
Format:
Adobe Portable Document Format
Description:
Prubeh_obhajoby_VSKP