Seminar Programming Models and Code Generation WS17/18

This seminar will be held in English.

Preliminary meeting

July 12, 2017, 16:00 in room 01.06.020


Registration is done via central assignment (as with all other seminars).

This is an external seminar. Part of expenses can be covered by TUM, but part also needs to be covered by the students (around 50 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).

General information


Assigned Topics



For literature on your topic, discuss with your supervisor.


  • Deadline for paper draft: December 7, 2017
  • Peer Review: until December 14, 2017
  • Final Paper Due: January 11, 2018
  • Block Seminar: TBD (probably Thursday/Friday January 18/19, 2018


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 on the island "Frauenchiemsee".

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, high performance computers.

Topics (more at the preliminary meeting):

  • Instruction Sets
    • RISC-V
  • GPU Programming
    • OpenMP4 vs. OpenACC
    • C++AMP / HCC-Compiler
    • Futhark
  • Concepts in Recent Programing Languages
    • Julia
    • Pony
    • Rust
  • Parallel Programming Models
    • MPI 4.0 (Sessions, Fault Tolerance, ...)
    • Charm++
    • Concurrent Collections
  • Parallel Runtimes
    • Open Community Runtime (OCR)
    • In-Memory Checkpointing
    • Object Placement for HBM
  • Thread-level Speculation
    • A lightweight in-place implementation for software thread-level speculation
    • Thread-level speculation with kernel support
    • Speculative Decoupled Software Pipelining
    • Thread-Level Speculation using Hardware Transactional Memory