Nowadays, the computing landscape is becoming increasingly heterogeneous and this trend is currently showing no signs of turning around. In particular, hardware becomes more and more specialized and exhibits different forms of parallelism. For performance-critical codes it is indispensable to address hardware-specific peculiarities. Due to the halting problem, however, it is unrealistic to assume that a program implemented in a general-purpose programming language will ever be fully automatically compiled to modern heterogeneous hardware while still delivering peak performance.
For this reason, Roland Leißa aims to develop innovative tools that enable programmers to address such hardware in a semi-automatic way while still offering appropriate methods that allow programmers to aptly abstract from hardware-specific codes. Furthermore, he is interested in simplifying software engineering of high-performance applications, compiler construction, and programming language design in general.
- intermediate representations in compilers
- program optimizations
- automatic parallelization
- domain-specific languages
- Compiler Construction
- Types and Programming Languages
- Parallel Programming
- Computer Graphics