Optimalizace datových struktur výpočetních programů s ohledem na využití cache

dc.contributorJeníček Jiří, Ing. Ph.D. : 56852
dc.contributor.advisorBřezina Jan, Mgr. Ph.D. : 58132
dc.contributor.authorKrál, Petr
dc.contributor.otherPěničková Zuzana, doc. Ing. Ph.D. Skolitel : 59645
dc.contributor.otherRozkovec Jiří, Mgr. Konzultant : 56638
dc.contributor.otherKysela Jaroslav, Ing. Konzultant2 : 65866
dc.date.accessioned2018-10-15T11:53:53Z
dc.date.available2018-10-15T11:53:53Z
dc.date.committed2018-5-14
dc.date.defense2018-6-12
dc.date.submitted2017-10-19
dc.date.updated2018-10-15
dc.degree.levelBc.
dc.description.abstractSimulátor proudění podzemní vody s názvem Flow123d (Březina a kol. [2]) využívá za účelem zefektivnění výpočtů s malými vektory a maticemi knihovnu Armadillo, která je schopna tyto výpočty díky optimalizacím například s pomocí výrazových šablon provádět velmi efektivně. Armadillo si však předem pro každou datovou strukturu alokuje prostor v paměti o minimální velikost 16xdouble. To má při použití velkého množství malých vektorů (typicky 3x double) negativní dopad na využití cache paměti procesoru a následné zpomalení výpočtů.V této práci je popsán způsob, jakým lze tuto negativní vlastnost knihovny Armadillo obejít. Byla vytvořena knihovna Armor, která umožňuje provádět výpočty pomocí knihovny Armadillo nad efektivně uloženými daty. Byla provedena analýza využití cache paměti celým programem, následně byla knihovna Armor aplikována ve Flow123d a vliv těchto a dalších optimalizací na běh programu a jeho částí byl otestován. Zároveň byly provedeny celkové testy efektivity využití cache paměti.cs
dc.description.abstractA simulator of underground water flow named Flow123d (Březinaet al. citeFlow123d) uses the Armadillo library for higher effici-ency of calculations with small vectors and matrices. This softwareis capable of performing these calculations very effectively not onlythanks to its use of expression templates. Armadillo, however, alwa-ys prealocates a space in memory of 16 times verb'double'. This hasa negative effect on the use of cache when using a large number ofsmall vectors (typically 3 times verb'double') which is then causinga considerable slowdown.This thesis describes a way to eliminate this negative feature ofArmadillo. A new library named Armor was created. This librarycan perform these calculations using Armadillo with efficiently sto-red data. An analysis of cache memory usage of the whole programwas performed. This library was then applied in Flow123d and theimpact of these optimization's on the run-time of the program andits parts was tested. Complete tests of the cache usage efficiencywere performed.en
dc.description.mark
dc.format30
dc.format.extentIlustrace , Grafy, Tabulky 1 ROM
dc.identifier.urihttps://dspace.tul.cz/handle/15240/32209
dc.language.isocs
dc.relation.isbasedon[1] Kowarschik M., Weiß C. (2003) An Overview of Cache Optimization Techniques and Cache-Aware Numerical Algorithms. In: Meyer U., Sanders P., Sibeyn J. (eds) Algorithms for Memory Hierarchies. Lecture Notes in Computer Science, vol 2625. Springer, Berlin, Heidelberg
dc.relation.isbasedon[2] Cachegrind: a Cache-miss Profiler. [online]. [cit. 1.10. 2017] Dostupné na: http://valgrind.org/docs/manual/cg-manual.html
dc.relation.isbasedon[3] J. Levon, OProfile Manual, http://oprofile.sourceforge.net/doc/, Victoria University of Manchester.
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.subjectArmadillocs
dc.subjectC++cs
dc.subjectcachecs
dc.subjectFlow123dcs
dc.subjectvektorcs
dc.subjectmaticecs
dc.subjectvýrazové šablo-nycs
dc.subjectArmadilloen
dc.subjectC++en
dc.subjectcacheen
dc.subjectexpression templatesen
dc.subjectFlow123den
dc.subjectmatrixen
dc.subjectvectoren
dc.titleOptimalizace datových struktur výpočetních programů s ohledem na využití cachecs
dc.titleCache optimization of data structures in numerical softwareen
dc.title.alternativecs
dc.typebakalářská prácecs
local.degree.abbreviationBakalářský
local.degree.disciplineIT
local.degree.programmeInformační technologie
local.degree.programmeabbreviationB2646
local.department.abbreviationNTI
local.facultyFakulta mechatroniky, informatiky a mezioborových studiícs
local.faculty.abbreviationFM
local.identifier.authorM15000029
local.identifier.stag37048
local.note.administratorsautomat
Files
Original bundle
Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
bakalarska_prace_2018_petr_kral.pdf
Size:
2.27 MB
Format:
Adobe Portable Document Format
Description:
VSKP
Loading...
Thumbnail Image
Name:
Kral__posudek_oponenta.pdf
Size:
617.54 KB
Format:
Adobe Portable Document Format
Description:
Posudek_oponenta_VSKP
Loading...
Thumbnail Image
Name:
Kral__posudek_vedouciho.pdf
Size:
605.91 KB
Format:
Adobe Portable Document Format
Description:
Posudek_vedouciho_VSKP
Loading...
Thumbnail Image
Name:
kral.pdf
Size:
242.22 KB
Format:
Adobe Portable Document Format
Description:
Prubeh_obhajoby_VSKP