Software pipelining v překladači LLVM
Loading...
Date
Authors
ORCID
Advisor
Referee
Mark
B
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Tahle práce pojednává o návrhu a implementaci techniky programového zřetězení aneb Software pipelining, optimalizaci cyklů v programu, která se snaží plně využít paralelismus na úrovni instrukcí. To dosahuje plánovaním instrukcí způsobem, aby se jednotlivé iterace cyklu překrývaly a bylo je možné vykonávat zřetězeně. Optimalizace takhle zvyšuje rychlost výsledného programu. Je tu popsaný návrh a implementace algoritmu Swing Modulo Scheduling, efektivní metody pro nacházení optimálního plánu pro zřetězení cyklů. Práce byla vytvořena jako součást většího projektu a to vývoje Codasip Framework. Jeho součástí je překladač jazyka C do jazyka symbolických instrukcí vytvořený nad překladačovou architekturou LLVM. V tomto překladači je implementován výsledek této práce.
This thesis discusses a design and implementation of the Software Pipelining, a optimization technique of loops in a program, which tries to exploit instruction-level parallelism. It is achieved by scheduling instructions in a way to overlap iterations of the loop and therefore execute them in a pipeline. This way optimization speeds up the final program. There is a detailed description of design and implementation of Swing Modulo Scheduling algorithm, an effective and efficient method for finding near-optimal plans for software-pipelined loops. This work has been done as a part of a larger project, the development of Codasip Framework. Part of this framework is the retargetable C compiler based on compiler architecture LLVM, in which this work is implemented.
This thesis discusses a design and implementation of the Software Pipelining, a optimization technique of loops in a program, which tries to exploit instruction-level parallelism. It is achieved by scheduling instructions in a way to overlap iterations of the loop and therefore execute them in a pipeline. This way optimization speeds up the final program. There is a detailed description of design and implementation of Swing Modulo Scheduling algorithm, an effective and efficient method for finding near-optimal plans for software-pipelined loops. This work has been done as a part of a larger project, the development of Codasip Framework. Part of this framework is the retargetable C compiler based on compiler architecture LLVM, in which this work is implemented.
Description
Citation
GLASNÁK, O. Software pipelining v překladači LLVM [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2014.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Informační technologie
Comittee
prof. RNDr. Alexandr Meduna, CSc. (předseda)
doc. Ing. Zdeněk Kotásek, CSc. (místopředseda)
Ing. František Grézl, Ph.D. (člen)
Ing. Martin Hrubý, Ph.D. (člen)
RNDr. Marek Rychlý, Ph.D. (člen)
Date of acceptance
2014-06-18
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 B. Otázky u obhajoby: Jaké jsou momentální hlavní problémy při začleňování imlementačního modulu pro Software pipelining do překladače LLVM používaného v Codasip Frameworku projektu Lissom?
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení