Advanced

Develop and prototype code generation techniques for a clause-based GPU

Ju, Johan LU and Jonsson, Niklas LU (2017) In LU-CS-EX 2017-08 EDA920 20171
Department of Computer Science
Abstract
Processors grow more and more complex, even more so in the field of GPUs,
where the instruction set, in general, is not publicly available. This enables
them to change more rapidly than CPUs, since backwards compatibility is not
an issue. In this thesis multiple approaches are investigated for code generation
for a clause-based GPU. An optional pre-scheduler is implemented, together
with two approaches for register allocation and one post-scheduler. It is found
that a pre-scheduler can lower the register pressure considerably which makes
a major impact on register allocation. The differences between the two register
allocators is minimal and they can be considered to be equal.
Popular Abstract (Swedish)
Grafikprestandan spelar en allt större roll i dagens smartphones då den ofta bestämmer
hur responsiv upplevelsen är av krävande applikationer. Detta arbete har utforskat
kodgenereringstekniker för en modern grafikprocessor i syfte att förbättra prestandan.
Please use this url to cite or link to this publication:
author
Ju, Johan LU and Jonsson, Niklas LU
supervisor
organization
course
EDA920 20171
year
type
H3 - Professional qualifications (4 Years - )
subject
keywords
Code generation, GPU, Register allocation, Instruction scheduling, Compiler optimization
publication/series
LU-CS-EX 2017-08
report number
LU-CS-EX 2017-08
ISSN
1650-2884
language
English
id
8916780
date added to LUP
2017-06-19 09:35:51
date last changed
2017-06-19 09:35:51
@misc{8916780,
  abstract     = {Processors grow more and more complex, even more so in the field of GPUs,
where the instruction set, in general, is not publicly available. This enables
them to change more rapidly than CPUs, since backwards compatibility is not
an issue. In this thesis multiple approaches are investigated for code generation
for a clause-based GPU. An optional pre-scheduler is implemented, together
with two approaches for register allocation and one post-scheduler. It is found
that a pre-scheduler can lower the register pressure considerably which makes
a major impact on register allocation. The differences between the two register
allocators is minimal and they can be considered to be equal.},
  author       = {Ju, Johan and Jonsson, Niklas},
  issn         = {1650-2884},
  keyword      = {Code generation,GPU,Register allocation,Instruction scheduling,Compiler optimization},
  language     = {eng},
  note         = {Student Paper},
  series       = {LU-CS-EX 2017-08},
  title        = {Develop and prototype code generation techniques for a clause-based GPU},
  year         = {2017},
}