Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 385)
Detail práce
   Přihlásit přes CAS
SIMD code generator
Název práce v češtině: Generátor SIMD kódu
Název v anglickém jazyce: SIMD code generator
Klíčová slova: SIMD; vektorizace; generátor kódu
Klíčová slova anglicky: SIMD; vectorization; code generation
Akademický rok vypsání: 2015/2016
Typ práce: bakalářská práce
Jazyk práce: angličtina
Ústav: Katedra softwarového inženýrství (32-KSI)
Vedoucí / školitel: RNDr. David Bednárek, Ph.D.
Řešitel: Bc. Karel Tuček - zadáno a potvrzeno stud. odd.
Datum přihlášení: 29.10.2015
Datum zadání: 02.11.2015
Datum potvrzení stud. oddělením: 24.11.2015
Datum a čas obhajoby: 16.06.2016 00:00
Datum odevzdání elektronické podoby:25.05.2016
Datum odevzdání tištěné podoby:27.05.2016
Datum proběhlé obhajoby: 16.06.2016
Oponenti: Paolo Arcaini, Ph.D.
 
 
 
Zásady pro vypracování
Vektorizace patří mezi dobře známé transformace kódu, většinou je však prováděna v kontextu procedurálního kódu s příkazy a instrukcemi. Cílem této práce je ověřit možnosti vektorizace v systému, který překládaný program reprezentuje formou sítí, v nichž protékají data mezi jednotlivými operacemi (viz např. Kahn process networks). Samotná vektorizace v takovém prostředí je jednodušší než v klasickém procedurálním kódu, přibývají však technické problémy s interakcí a synchronizací. Výstupem transformace má být kód v jazyce C obsahující SIMD instrukce (v podobě intrinsic functions).
Seznam odborné literatury
- Brabec M., Bednárek D.: Hybrid Flow Graphs: Towards the Transformation of Sequential Code into Parallel Pipeline Networks, in ITAT, CEUR, Vol. 1422, 2015, ISSN: 1613-0073.
- Allen, R. and Kennedy, K.: Optimizing Compilers for Modern Architectures. Morgan Kaufmann, 2001, ISBN: 978-1558602861.
- Intel Architecture Instruction Set Extensions Programming Reference. Intel, 2015, 319433-023.
Předběžná náplň práce v anglickém jazyce
Vectorization is a well developed technique of code transformation; however, it is mostly performed in the context of procedural code with statements and/or instructions. The goal of this thesis is applying vectorization techniques in an environment where the transformed program is represented as a network of data flows and operators (e.g., Kahn process networks). In such environment, vectorization is simpler than in procedural code; however, there are additional technical issues of interaction and synchronization. The transformation shall generate C-code containing SIMD instructions (as intrinsic function calls).
 
Univerzita Karlova | Informační systém UK