Master Seminar Course: Code Generation and Innovative Programming Models (IN2107, IN4590) (Seminar)

Lecturer (assistant)
Duration2 SWS
TermWintersemester 2019/20
Language of instructionEnglish


  • Preliminary meeting: 15.7.2019, 11:00, room 01.06.020
  • Kick-off meeting: 16.10.2019, 16:30, room 01.06.020
  • Deadline for paper draft: 06.12.2019, 10:00 CET (via mail to both, your advisor and Alexis Engelke)
  • Peer Review deadline: 20.12.2019, 10:00 CET
  • Final Paper Due: 20.01.2020, 23:59 AoE
  • Block Seminar: 27.01.2020, 13:00 - 16:00, room 01.06.020


Registration is done via the matching system (as with all other seminars).

Update: the final decision whether the seminar will include the trip to Frauenchiemsee will be made at the kick-off meeting. When registering for this seminar, be prepared to pay a part of the expenses.

This is an external seminar. Part of expenses can be covered by TUM, but part also needs to be covered by the students (around 80 Euro). As we have to book early, if you get assigned to this seminar, we will ask you for a deposit of 30,- Euro in advance. This will be used for the expenses for the trip to Frauenchiemsee. You may cancel your registration before October, and get the money back (otherwise refunding is not possible).


For literature on your topic, discuss with your supervisor.


The seminar is organized similar to a scientific conference. All talks will be presented 'en bloc' within two consecutive days. The conference will take place at Kloster Frauenwörth at Chiemsee. You will get an email with more details (schedule, meeting point) in beginning of January.

In order to qualify for the ECTS credits, participants have to prepare a paper and present a talk. The paper should have a length of between 8 and 10 pages using the latex template available below. The paper is subject to a review process among students: every attendee will have to review two other papers. The talk should be 25 minutes long. It strictly must not be longer than 30 minutes in any case.

The final grade is influenced mostly by paper/talk quality (half/half), but also the timeliness and quality of reviews will be taken into account. Delivering either the paper or the talk in unacceptable quality will result in total failure.


In this seminar we discuss novel programming models and code generation techniques with a focus on modern processor architectures like multiprocessors, graphic accelerators, and high performance computers.

Preliminary list of topics (more topics at the preliminary meeting):

    • Miscellaneous
      • ISA Mapper: Compute and hardware agnostic deep learning compiler
      • Exploring C Semantics and Pointer Provenance (assigned)
      • Lifting x86 machine code to LLVM-IR
      • Modern SIMD architectures and Auto-Vectorization (assigned)
      • Loop Optimizations
    • Worst-case Execution Time
      • aiT / Efficient an precise Cache Behaviour Prediction for Real-Time-Systems
      • Otawa / an open toolbox for adaptive  WCET analysis
      • Fast and Exact Analysis of LRU Caches
      • StatCache
    • Verified Compilation
      • Bridging the Gap between Programming Languages and Hardware Weak Memory Models
      • Compcert - An abstract stack based approach to verified compositional Compilation to machine code (assigned)
    • Optimized Code Generation
      • BOLT: A Practical Binary Optimizer for Data Centers and Beyond
      • Performance Exploration Through Optimistic Static Program Analysis
    • Programming Models for Heterogenoues Systems
      • Raja
      • Kokkos
      • Legion
      • Sycl
      • Static Deadlock Detection for Concurrent Go by Global Session Graph Synthesis
    • Quantum Computing
      • Basics & OpenQASM (assigned)
    • Fault-tolerance
      • ULFM (assigned)
      • Consensus protocols
    • Worst-case Roundoff Error Analysis
      • Daisy/Rosa
      • FPTaylot/FPTuner
    • Approximate Computing
      • ARGA: Approximate Reuse for GPGPU Acceleration
      • Approximate video streaming (Videochef: efficient approximation for streaming video processing pipelines)
      • ApproxIR: A Portable Compiler IR for Accuracy-aware Optimizations (assigned)