Original title:
Software pipelining v překladači LLVM
Translated title:
Software Pipelining in the LLVM Compiler
Authors:
Glasnák, Ondrej ; Hynek, Jiří (referee) ; Masařík, Karel (advisor) Document type: Bachelor's theses
Year:
2014
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
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.
Keywords:
Codasip; Instruction Scheduling; Lissom; LLVM; Loop optimization; Modulo Scheduling; Software Pipelining; VLIW; Codasip; Lissom; LLVM; Modulo Scheduling; Optimalizace cyklů; Plánování instrukcí; Softvérové zřetězení; VLIW
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/187490