Combining dataflow programming and polyhedral optimization, a case study
Résumé
Nowadays, parallel computers have become ubiquitous and current
processors contain several execution cores, anywhere from a couple to
hundreds. This multi-core tendency is due to constraints preventing
the increase of clock frequencies, such as heat generation and power
consumption. A variety of low-level tools exist to program these chips
efficiently, but they are considered hard to program, to maintain, and
to debug, because they may exhibit non-deterministic behaviors. This
project focuses on adding an abstraction level in order to have as
much performance as possible while not dealing with low-level
mechanisms. The approach is based on data flow programming, which
allows the programmer to specify only the operations to perform and
their dependencies, without actually scheduling them. This project
combines this paradigm with the Polyhedral Model, which allows
automatic parallelization and optimization of loop nests, in order to
make the programming easier by delegating work to the compilers and
static analyzers.
Origine | Fichiers produits par l'(les) auteur(s) |
---|