Název:
Software pipelining v překladači LLVM
Překlad názvu:
Software Pipelining in the LLVM Compiler
Autoři:
Glasnák, Ondrej ; Hynek, Jiří (oponent) ; Masařík, Karel (vedoucí práce) Typ dokumentu: Bakalářské práce
Rok:
2014
Jazyk:
cze
Nakladatel: Vysoké učení technické v Brně. Fakulta informačních technologií
Abstrakt: [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.
Klíčová slova:
Codasip; Lissom; LLVM; Modulo Scheduling; Optimalizace cyklů; Plánování instrukcí; Softvérové zřetězení; VLIW; Codasip; Instruction Scheduling; Lissom; LLVM; Loop optimization; Modulo Scheduling; Software Pipelining; VLIW
Instituce: Vysoké učení technické v Brně
(web)
Informace o dostupnosti dokumentu:
Plný text je dostupný v Digitální knihovně VUT. Původní záznam: http://hdl.handle.net/11012/187490