Open access
Author
Date
2022-07-15Type
- Bachelor Thesis
ETH Bibliography
yes
Altmetrics
Abstract
C is a programming language used everywhere and in a big part of
scientific codes. With the increase of highly parallel computing machines
the code needs to be adapted to be able to use the full power available.
In my thesis I will expand a compiler frontend to be able to transform C
code into a data centric representation that will intern be able to identify
data dependencies automatically and hence produce highly parallel
code. There were a lot of challenges because pointers and structs are
hard to adapt to a data centric paradigm. In the end I was able to
find ways to work around the imposed limitations and expand the
compiler front end to support a bigger - and more general - C language
subset. On the tested benchmarks the performance of the automatic
parallelization was on par with the handmade one. Show more
Permanent link
https://doi.org/10.3929/ethz-b-000571709Publication status
publishedPublisher
ETH ZurichSubject
High Performance Computing; CompilerOrganisational unit
03950 - Hoefler, Torsten / Hoefler, Torsten
More
Show all metadata
ETH Bibliography
yes
Altmetrics