Thesis (Selection of subject)Thesis (Selection of subject)(version: 390)
Thesis details
   Login via CAS
SIMD code generator
Thesis title in Czech: Generátor SIMD kódu
Thesis title in English: SIMD code generator
Key words: SIMD; vektorizace; generátor kódu
English key words: SIMD; vectorization; code generation
Academic year of topic announcement: 2015/2016
Thesis type: Bachelor's thesis
Thesis language: angličtina
Department: Department of Software Engineering (32-KSI)
Supervisor: RNDr. David Bednárek, Ph.D.
Author: Bc. Karel Tuček - assigned and confirmed by the Study Dept.
Date of registration: 29.10.2015
Date of assignment: 02.11.2015
Confirmed by Study dept. on: 24.11.2015
Date and time of defence: 16.06.2016 00:00
Date of electronic submission:25.05.2016
Date of submission of printed version:27.05.2016
Date of proceeded defence: 16.06.2016
Opponents: Paolo Arcaini, Ph.D.
 
 
 
Guidelines
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).
References
- 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.
Preliminary scope of work in English
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).
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html