Research

We do research on compilers, programming languages, and program analysis to make programming modern heterogeneous systems more efficient and effective. Our recent focus is on:

  • Implementing Domain-specific Languages using Partial Evaluation
  • Vectorization of Irregular Low-Level Code
  • Deriving Performance Models of Modern Hardware

Our current projects and tools include:

Teaching

Winter 2020

Core Course
Seminar
Proseminar

Previous Semesters

BSc/MSc Theses and Hiwi Jobs

We have a variety of BSc/MSC topics and Hiw jobs available. Please contact Sebastian Hack.

News

Oct 2020
Our work on an abstract interpretation for SPMD thread divergence was accepted for POPL 2021. The analysis is accompanied by a Coq development to prove its soundness and a C++ implementation of the analysis has been upstreamed to LLVM.
Apr 2020
PMEvo, our work on inferring port mappings of out-of-order processors by time measurements was accepted at PLDI 2020.
Jan 2020
We have a paper at IPDPS 2020 together with Bertil Schmidt's group on AnySeq, a high-performance sequence alignment library written in AnyDSL that compiles to CPUs, GPUs, and FPGAs from the same code base and is competitive with codes that have been developed for a specific hardware architecture.
Jul 2019
Sebastian has taught a one-week course on compilers at the ACACES 2019 summer school.
Jul 2019
Our joint paper Rodent: Generating Renderers without Writing a Generator with the graphics group at Saarland University was accepted at SIGGRAPH 2019.
Jun 2018
Our paper on AnyDSL was accepted at OOPSLA 2018. AnyDSL is a clean-slate programming system with a simple, annotation-based, online partial evaluator that operates on our CPS-based IR Thorin and has code generators for various accelerators.
Feb 2018
Our paper on partially linearizing control flow was accepted at PLDI 2018. Partial control flow linearization generalizes if conversion to incorporate the results of a divergence analysis without imposing restrictions on the control flow graph.