We brought Lift to ISPASS with this tutorial titled "Lift — performance portable code generation on parallel accelerators". We went through the fundamental components of Lift: language primitives and their properties, Lift IR, type system, parallelism exploitation and memory management. We dived deep into rewrite rules and the arithmetic expression simplifier behind Lift; we covered the existing applications of the language along with some practical examples for those interested to try them out.


  • 13:30 — Lift overview (motivation, principles, applications, performance results)
  • 14:15 — Language design, IR and code generation
  • 15:00 — Break
  • 15:30 — Rewriting and exploration
  • 16:00 — View system
  • 16:30 — QA and practice session
  • 17:00 — Finish


Additionally, here is the most relevant paper of ours:

Lift: A Functional Data-Parallel IR for High-Performance GPU Code Generation
Michel Steuwer, Toomas Remmelg, and Christophe Dubach
International Symposium on Code Generation and Optimization (CGO) 2017


PDF Paper Slides of the talk


Software Artifact for independent evaluation of the performance results