Original title:
Podpora SIMD instrukcí v překladači LLVM
Translated title:
SIMD Instructions Support in LLVM Compiler
Authors:
Šnobl, Pavel ; 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]
Tato bakalářská práce se zabývá podporou automatické vektorizace kódu v kompilačním frameworku LLVM a rozšířením modelu procesoru Codix o SIMD instrukce. Výsledkem je schopnost LLVM vytvářet reporty o proběhlém procesu autovektorizace a možnost využívat speciálních direktiv pragma pro dodání dodatečných informací pro optimalizace programů. Rovněž je představen a implementován způsob dodávání informací o architekturách procesorů vytvořených pomocí vývojového prostředí Codasip Framework, potřebných pro efektivnější vektorizaci. Nakonec je pro procesor Codix vybrána a následně do modelu přidána sada celočíselných vektorových instrukcí a souvisejících nových registrů.
This bachelor thesis deals with support of automatic vectorization of code in the LLVM compilation framework and with extension of Codix processor model of SIMD instructions. As a result, LLVM is able to create reports about the process of auto-vectorization and it is possible to use special pragma directives to provide the compiler with additional information for optimizations of programs. Also a way of providing information about architectures of processors created using development environment Codasip Framework, needed for more effective vectorization, is introduced and implemented. Finally a set of integer vector instructions and related new registers for Codix is chosen and added to the model.
Keywords:
Auto-Vectorization; CodAL; Codix; LLVM; SIMD; autovektorizace; CodAL; Codix; LLVM; SIMD
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/56572