Portrait of Michel Steuwer

Michel Steuwer

I am a professor leading the chair of Compilers and Programming Languages at TU Berlin.

Michel Steuwer

I am a professor at Technische Universität Berlin and lead the chair of Compilers and Programming Languages. I am a member of the Institute of Software Engineering and Theoretical Computer Science in the Faculty IV - Electrical Engineering and Computer Science at TU Berlin.

Before joining TU Berlin, I was a lecturer (assistant professor) in the School of Informatics at the University of Edinburgh, a lecturer at the School of Computing Science at the University of Glasgow and a postdoctoral researcher at the University of Edinburgh. I received my PhD from the University of Münster in Germany.

You can download my CV here.

Research

I am interested in programming languages and compilers.

I have a particular interest in compiler design, optimization techniques, and programming languages for parallel programming, heterogeneous, and GPU computing.

Highlights

  • Our ICFP 2020 paper has been selected as a ACM SIGPLAN Research Highlight in September 2021 and has been published as a Communications of the ACM Research Highlight in March 2023

  • Our POPL 2024 paper has been selected as one of nine for the MIT Programming Languages Review 2024 highlighting papers believed to have significant potential to shape the future direction of PL research

  • Best Paper Award Winner at CGO 2018 and SLE 2022

  • 6 HiPEAC Paper Awards for our ASPLOS 2028, 2023, 2024, POPL 2024 (2x), and PLDI 2024, 2025 papers

  • Most cited papers at ICFP 2015 and CGO 2017

  • Most downloaded research paper of the Proceedings of the ACM on Programming Languages (PACMPL) with over 15,000 downloads from the ACM Digital Library

Team

PhD Students

  • Serkan Muhcu

    Topics: Algebraic Effects, Functional Programming

  • Nicole Heinimann

    Topics: E-Graphs, Machine Learning

  • Rudi Schneider

    Topics: E-Graphs, Program Analysis

  • Johannes Lenfers

    Topics: Rewrite-based Optimizations, Autotuning

    supervised with Sergei Gorlatch

  • Bastian Köpcke

    Topics: Safe GPU Computing

    supervised with Sergei Gorlatch

Former PhD Students

  • Dr. Martin Lücke

    PhD Thesis: Precise Control of Compilers: A Practical Approach to Principled Optimization

    Now: Research Scientist at Brium

  • Dr. Xueying Qin

    PhD Thesis: Studies Concerning the Meaning of Computer Programs

    Now: Postdoctoral Researcher at the University of South Denmark

  • Dr. Rongxiao Fu

    PhD Thesis: Type Systems for Safe Strategic Rewriting

    Now: Researcher at Huawei Research, China

  • Dr. Federico Pizzuti

    PhD Thesis: Efficient Code Generation for Irregular Applications with Lift

    main supervisor Christophe Dubach

    Now: Senior Software Engineer at Huawei Research, Edinburgh, UK

  • Dr. Thomas Kœhler

    PhD Thesis: Domain-Extensible Optimizing Compilers

    Now: Researcher at CNRS, Strasbourg, France

  • Dr. Larisa Stolzfus

    PhD Thesis: Stencil-based HPC Applications in Lift

    main supervisor Christophe Dubach

    Now: HPC Benchmark Specialist at Eviden, UK

  • Dr. Toomas Remmelg

    PhD Thesis: Automatic Performance Optimisation of Parallel Programs for GPUs via Rewrite Rules

    main supervisor Christophe Dubach

    Now: Senior Compiler Engineer at ARM, Norway

  • Dr. Bastian Hagedorn

    PhD Thesis: High-Performance Domain-Specific Compilation without Domain-Specific Compilers

    supervised with Sergei Gorlatch

    Now: Senior Compiler Engineer at NVIDIA, Germany

  • Dr. Michael Haidl

    PhD Thesis: PACXX: a Unified Programming Model for Programming Accelerators

    main supervisor Sergei Gorlatch

    Now: Senior Systems Software Manager at NVIDIA, Germany

  • Dr. Juan Jose Fumero

    PhD Thesis: Accelerating Interpreted Programming Languages on GPUs with Just-In-Time Compilation and Runtime Optimizations

    main supervisor Christophe Dubach

    Now: Research Fellow at the University of Manchester, UK

Publications

Here you find my journal and conference papers, workshop papers, technical reports, book chapters, and my PhD thesis.

You can also find my publications on my dblp profile and my Google Scholar profile.

Conference and Journal Paper

2025

  • Slotted E-Graphs - First-Class Support for (Bound) Variables in E-Graphs

    PLDI

    Rudi Schneider, Marcus Rossel, Amir Shaikhha, Andrés Goens, Thomas Kœhler and Michel Steuwer

    PLDI' 25: 45th ACM SIGPLAN International Conference on Programming Language Design and Implementation, Seoul, South Korea, June 16-20, 2025

    (accepted for publication)

  • xDSL: Sidekick compilation for SSA-Based Compilers

    CGO

    Mathieu Fehr, Michel Weber, Christian Ulmann, Alexandre Lopoukhine, Martin Lücke, Théo Degioanni, Christos Vasiladiotis, Michel Steuwer and Tobias Grosser

    CGO '25: ACM/IEEE International Symposium on Code Generation and Optimization, Las Vegas, USA, March 1-5, 2025

  • The MLIR Transform Dialect - Your compiler is more powerful than you think

    CGO

    Martin Lücke, Michel Steuwer, Albert Cohen, William Moses and Alex Zinenko

    CGO '25: ACM/IEEE International Symposium on Code Generation and Optimization, Las Vegas, USA, March 1-5, 2025

2024

  • Descend: A Safe GPU Systems Programming Language

    PLDI

    Bastian Köpcke, Sergei Gorlatch and Michel Steuwer

    PLDI' 24: 45th ACM SIGPLAN International Conference on Programming Language Design and Implementation, Copenhagen, Denmark, June 24-28, 2024

  • A shared compilation stack for distributed-memory parallelism in stencil DSLs

    ASPLOS

    George Bisbas, Anton Lydike, Emilien Bauer, Nick Brown, Mathieu Fehr, Lawrence Mitchell, Gabriel Rodriguez-Canal, Maurice Jamieson, Paul H.J. Kelly, Michel Steuwer and Tobias Grosser

    Proceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2024, San Diego, CA, USA, April 27 - May 1, 2024

  • Guided Equality Saturation

    POPL

    Thomas Kœhler, Andrés Goens, Siddharth Bhat, Tobias Grosser, Phil Trinder and Michel Steuwer

    Prcoeedings of the 51st ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2024, London, UK, January 14-20, 2024

    Selected for the MIT Programming Languages Review. 23 citations on Google Scholar.

  • Shoggoth - A Formal Foundation for Strategic Rewriting

    POPL

    Xueying Qin, Liam O'Connor, Rob van Glabbeek, Peter Hoefner, Ohad Kammar and Michel Steuwer

    Prcoeedings of the 51st ACM SIGPLAN Symposium on Principles of Programming Languages, POPL 2024, London, UK, January 14-20, 2024

  • Collection skeletons: Declarative abstractions for data collections

    JoSS

    Björn Franke, Zhibo Li, Magnus Morton and Michel Steuwer

    Journal of Systems and Software

2023

  • BaCO: A Fast and Portable Bayesian Compiler Optimization Framework

    ASPLOS

    Erik Hellsten, Artur L. F. Souza, Johannes Lenfers, Rubens Lacouture, Olivia Hsu, Adel Ejjeh, Fredrik Kjolstad, Michel Steuwer, Kunle Olukotun and Luigi Nardi

    Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 4, ASPLOS 2023, Vancouver, BC, Canada, March 25-29, 2023

    Presented at ASPLOS 2024

  • Structural Subtyping as Parametric Polymorphism

    OOPSLA

    Wenhao Tang, Daniel Hillerström, James McKinna, Michel Steuwer, Ornela Dardha, Rongxiao Fu and Sam Lindley

    Proceedings of OOPSLA 2023, Cascais, Portugal, October 22-27, 2023

  • Achieving High Performance the Functional Way: Expressing High-Performance Optimizations as Rewrite Strategies

    CACM

    Bastian Hagedorn, Johannes Lenfers, Thomas Kœhler, Xueying Qin, Sergei Gorlatch and Michel Steuwer

    Communications of the ACM (CACM)

  • Primrose: Selecting Container Data Types by Their Properties

    <Programming>

    Xueying Qin, Liam O'Connor and Michel Steuwer

    Art, Science, and Engineering of Programming (<Programming>)

2022

  • Collection Skeletons: Declarative Abstractions for Data Collections

    SLE

    Björn Franke, Zhibo Li, Magnus Morton and Michel Steuwer

    Proceedings of the 15th ACM SIGPLAN International Conference on Software Language Engineering, SLE 2022, Auckland, New Zealand, December 6-7, 2022

    Best Research Paper Award

  • Investigating magic numbers: improving the inlining heuristic in the Glasgow Haskell Compiler

    Haskell

    Celeste Hollenbeck, Michael F. P. O'Boyle and Michel Steuwer

    Haskell '22: 15th ACM SIGPLAN International Haskell Symposium, Ljubljana, Slovenia, September 15 - 16, 2022

  • Generating Work Efficient Scan Implementations for GPUs the Functional Way

    Euro-Par

    Federico Pizzuti, Michel Steuwer and Christophe Dubach

    Euro-Par 2022: Parallel Processing - 28th International Conference on Parallel and Distributed Computing, Glasgow, UK, August 22-26, 2022, Proceedings

2021

  • Code Generation for Room Acoustics Simulations with Complex Boundary Conditions

    IPDPS

    Larisa Stoltzfus, Brian Hamilton, Michel Steuwer, Lu Li and Christophe Dubach

    35th IEEE International Parallel and Distributed Processing Symposium, IPDPS 2021, Portland, OR, USA, May 17-21, 2021

  • Integrating a functional pattern-based IR into MLIR

    CC

    Martin Lücke, Michel Steuwer and Aaron Smith

    CC '21: 30th ACM SIGPLAN International Conference on Compiler Construction, Virtual Event, Republic of Korea, March 2-3, 2021

    16 citations on Google Scholar.

  • Towards a Domain-Extensible Compiler: Optimizing an Image Processing Pipeline on Mobile CPUs

    CGO

    Thomas Kœhler and Michel Steuwer

    IEEE/ACM International Symposium on Code Generation and Optimization, CGO 2021, Seoul, South Korea, February 27 - March 3, 2021

  • Efficient Auto-Tuning of Parallel Programs with Interdependent Tuning Parameters via Auto-Tuning Framework (ATF)

    TACO

    Ari Rasch, Richard Schulze, Michel Steuwer and Sergei Gorlatch

    ACM Transactions on Architecture and Code Optimization (TACO)

    36 citations on Google Scholar.

2020

  • DelayRepay: delayed execution for kernel fusion in Python

    DLS

    John Magnus Morton, Kuba Kaszyk, Lu Li, Jiawen Sun, Christophe Dubach, Michel Steuwer, Murray Cole and Michael F. P. O'Boyle

    DLS 2020: Proceedings of the 16th ACM SIGPLAN International Symposium on Dynamic Languages, Virtual Event, USA, November 17, 2020

  • Achieving high-performance the functional way: a functional pearl on expressing high-performance optimizations as rewrite strategies

    ICFP

    Bastian Hagedorn, Johannes Lenfers, Thomas Kœhler, Xueying Qin, Sergei Gorlatch and Michel Steuwer

    Proceedings of the 25th ACM SIGPLAN International Conference on Functional Programming, ICFP 2020, Virtual Event, USA, August 23-26, 2020

    83 citations on Google Scholar, selected as only 1 of 4 ACM SIGPLAN Research Highlights from 2020, HiPEAC Paper Award, selected for publication as a Communications of the ACM Research Highlight.

  • Tiling Optimizations for Stencil Computations Using Rewrite Rules in Lift

    TACO

    Larisa Stoltzfus, Bastian Hagedorn, Michel Steuwer, Sergei Gorlatch and Christophe Dubach

    ACM Transactions on Architecture and Code Optimization (TACO)

  • Generating fast sparse matrix vector multiplication from a high level generic functional IR

    CC

    Federico Pizzuti, Michel Steuwer and Christophe Dubach

    CC '20: 29th International Conference on Compiler Construction, San Diego, CA, USA, February 22-23, 2020

2018

  • Automatic Matching of Legacy Code to Heterogeneous APIs: An Idiomatic Approach

    ASPLOS

    Philip Ginsbach, Toomas Remmelg, Michel Steuwer, Bruno Bodin, Christophe Dubach and Michael F. P. O'Boyle

    Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2018, Williamsburg, VA, USA, March 24-28, 2018

    HiPEAC Paper Award. 47 citations on Google Scholar.

  • High performance stencil code generation with Lift

    CGO

    Bastian Hagedorn, Larisa Stoltzfus, Michel Steuwer, Sergei Gorlatch and Christophe Dubach

    Proceedings of the 2018 International Symposium on Code Generation and Optimization, CGO 2018, Vösendorf / Vienna, Austria, February 24-28, 2018

    Best Paper Award Winner. 137 citations on Google Scholar.

2017

  • A Transformation-Based Approach to Developing High-Performance GPU Programs

    PSI

    Bastian Hagedorn, Michel Steuwer and Sergei Gorlatch

    Perspectives of System Informatics - 11th International Andrei P. Ershov Informatics Conference, PSI 2017, Moscow, Russia, June 27-29, 2017, Revised Selected Papers

  • Just-In-Time GPU Compilation for Interpreted Languages with Partial Evaluation

    VEE

    Juan José Fumero, Michel Steuwer, Lukas Stadler and Christophe Dubach

    Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, VEE 2017, Xi'an, China, April 8-9, 2017

    43 citations on Google Scholar.

  • Lift: a functional data-parallel IR for high-performance GPU code generation

    CGO

    Michel Steuwer, Toomas Remmelg and Christophe Dubach

    Proceedings of the 2017 International Symposium on Code Generation and Optimization, CGO 2017, Austin, TX, USA, February 4-8, 2017

    241 citations on Google Scholar, most cited paper of CGO 2017.

2016

  • Matrix multiplication beyond auto-tuning: rewrite-based GPU code generation

    CASES

    Michel Steuwer, Toomas Remmelg and Christophe Dubach

    2016 International Conference on Compilers, Architectures and Synthesis for Embedded Systems, CASES 2016, Pittsburgh, Pennsylvania, USA, October 1-7, 2016

    37 citations on Google Scholar.

2015

  • Generating performance portable code using rewrite rules: from high-level functional expressions to high-performance OpenCL code

    ICFP

    Michel Steuwer, Christian Fensch, Sam Lindley and Christophe Dubach

    Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming, ICFP 2015, Vancouver, BC, Canada, September 1-3, 2015

    196 citations on Google Scholar, most cited paper of ICFP 2015.

  • Runtime Code Generation and Data Management for Heterogeneous Computing in Java

    PPPJ

    Juan José Fumero, Toomas Remmelg, Michel Steuwer and Christophe Dubach

    Proceedings of the Principles and Practices of Programming on The Java Platform, PPPJ 2015, Melbourne, FL, USA, September 8-11, 2015

    32 citations on Google Scholar.

2014

  • High-Level Programming of Stencil Computations on Multi-GPU Systems Using the SkelCL Library

    PPL

    Michel Steuwer, Michael Haidl, Stefan Breuer and Sergei Gorlatch

    Parallel Processing Letters

    23 citations on Google Scholar.

  • gCUP: Rapid GPU-based HIV-1 Coreceptor Usage Prediction for Next-Generation Sequencing

    Bioinformatics

    Michael Olejnik, Michel Steuwer, Sergei Gorlatch and Dominik Heider

    Bioinformatics

    11 citations on Google Scholar.

  • SkelCL: A High-Level Extension of OpenCL for Multi-GPU Systems

    JoS

    Michel Steuwer and Sergei Gorlatch

    The Journal of Supercomputing

    34 citations on Google Scholar.

  • Introducing and Implementing the Allpairs Skeleton for Programming Multi-GPU Systems

    IJPP

    Michel Steuwer, Malte Friese, Sebastian Albers and Sergei Gorlatch

    International Journal on Parallel Programming

    15 citations on Google Scholar.

  • Towards High-Level Programming for Systems with Many Cores

    PSI

    Sergei Gorlatch and Michel Steuwer

    Perspectives of System Informatics - 9th International Ershov Informatics Conference, PSI 2014, St. Petersburg, Russia, June 24-27, 2014. Revised Selected Papers

2013

  • dOpenCL: Towards uniform programming of distributed heterogeneous multi-/many-core systems

    JPDC

    Philipp Kegel, Michel Steuwer and Sergei Gorlatch

    Journal on Parallel and Distributed Computing

    15 citations on Google Scholar.

  • High-Level Programming for Medical Imaging on Multi-GPU Systems Using the SkelCL Library

    ICCS

    Michel Steuwer and Sergei Gorlatch

    Proceedings of the International Conference on Computational Science, ICCS 2013, Barcelona, Spain, 5-7 June, 2013

  • SkelCL: Enhancing OpenCL for High-Level Programming of Multi-GPU Systems

    PaCT

    Michel Steuwer and Sergei Gorlatch

    Parallel Computing Technologies - 12th International Conference, PaCT 2013, St. Petersburg, Russia, September 30 - October 4, 2013. Proceedings

    41 citations on Google Scholar.

2012

  • A High-Level Programming Approach for Distributed Systems with Accelerators

    SoMeT

    Michel Steuwer, Philipp Kegel and Sergei Gorlatch

    New Trends in Software Methodologies, Tools and Techniques - Proceedings of the Eleventh SoMeT '12, Genoa, Italy, September 26 - 28, 2012

Workshop Paper

2022

  • Systematically extending a high-level code generator with support for tensor cores

    Lukas Siefke, Bastian Köpcke, Sergei Gorlatch and Michel Steuwer

    GPGPU@PPoPP 2022: Proceedings of the 14th Workshop on General Purpose Processing Using GPU, Virtual Event, Seoul, Republic of Korea, 3 April 2022

2021

  • Generating high performance code for irregular data structures using dependent types

    Federico Pizzuti, Michel Steuwer and Christophe Dubach

    FHPNC 2021: Proceedings of the 9th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing, FHPNC@ICFP 2021, Virtual Event, Korea, August 22, 2021

2020

  • High-level hardware feature extraction for GPU performance prediction of stencils

    Toomas Remmelg, Bastian Hagedorn, Lu Li, Michel Steuwer, Sergei Gorlatch and Christophe Dubach

    GPGPU@PPoPP '20: 13th Annual Workshop on General Purpose Processing using Graphics Processing Unit colocated with 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, San Diego, California, USA, February 23, 2020

  • A functional pattern-based language in MLIR

    Martin Lücke, Michel Steuwer and Aaron Smith

    AccML@HiPEAC 2020: Proceeding of the workshop on Accelerated Machine Learning, Bologna, Italy, January 20, 2020

2019

  • Generating efficient FFT GPU code with Lift

    Bastian Köppcke, Michel Steuwer and Sergei Gorlatch

    Proceedings of the 8th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing, FHPNC@ICFP 2019, Berlin, Germany, August 18, 2019

  • Position-dependent arrays and their application for high performance code generation

    Federico Pizzuti, Michel Steuwer and Christophe Dubach

    Proceedings of the 8th ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing, FHPNC@ICFP 2019, Berlin, Germany, August 18, 2019

  • Generating Fast FFT Code for GPU from High-Level Pattern-Based Abstractions

    Bastian Köpke, Michel Steuwer and Sergei Gorlatch

    Proceedings of the International Symposium on High-Level Parallel Programming and Applications, HLPP 2019, Linköping, Sweden, July 3-5, 2019

  • High-level synthesis of functional patterns with Lift

    Martin Kristien, Bruno Bodin, Michel Steuwer and Christophe Dubach

    Proceedings of the 6th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming, ARRAY@PLDI 2019, Phoenix, AZ, USA, June 22, 2019

    30 citations on Google Scholar.

  • Towards Mapping Lift to Deep Neural Network Accelerators

    Naums Mogers, Aaron Smith, Dimitrios Vytiniotis, Michel Steuwer, Christophe Dubach and Ryota Tomioka

    Proceedings of the Workshop on Emerging Deep Learning Accelerators, EDLA@HiPEAC 2019, Valencia, Spain, January 21, 2019

2018

  • Introducing Parallelism to the Ranges TS

    Gordon Brown, Christopher Di Bella, Michael Haidl, Toomas Remmelg, Ruymán Reyes and Michel Steuwer

    Proceedings of the International Workshop on OpenCL, IWOCL 2018, Oxford, United Kingdom, May 14-16, 2018

2017

  • A Modular Approach to Performance, Portability and Productivity for 3D Wave Models

    Larisa Stoltzfus, Christophe Dubach, Michel Steuwer, Alan Gray and Stefan Bilbao

    Proceedings of the Seventh International Workshop on Domain-Specific Languages and High-Level Frameworks for High Performance Computing, WOLFHPC@SC 2017, Denver, CO, USA, November 17, 2017

  • OpenCL JIT Compilation for Dynamic Programming Languages

    Juan José Fumero, Michel Steuwer, Lukas Stadler and Christophe Dubach

    Proceedings of the 2017 Workshop on Modern Language Runtimes, Ecosystems, and VMs, MoreVMs@<Programming> 2017, Brussels, Belgium, April 3, 2017

  • Towards Composable GPU Programming: Programming GPUs with Eager Actions and Lazy Views

    Michael Haidl, Michel Steuwer, Hendrik Dirks, Tim Humernbrum and Sergei Gorlatch

    Proceedings of the 8th International Workshop on Programming Models and Applications for Multicores and Manycores, PMAM@PPoPP 2017, Austin, TX, USA, February 5, 2017

2016

  • Performance portable GPU code generation for matrix multiplication

    Toomas Remmelg, Thibaut Lutz, Michel Steuwer and Christophe Dubach

    Proceedings of the 9th Annual Workshop on General Purpose Processing using Graphics Processing Unit, GPGPU@PPoPP 2016, Barcelona, Spain, March 12 - 16, 2016

    39 citations on Google Scholar.

  • Multi-stage programming for GPUs in C++ using PACXX

    Michael Haidl, Michel Steuwer, Tim Humernbrum and Sergei Gorlatch

    Proceedings of the 9th Annual Workshop on General Purpose Processing using Graphics Processing Unit, GPGPU@PPoPP 2016, Barcelona, Spain, March 12 - 16, 2016

  • Compositional Compilation for Sparse, Irregular Data Parallelism

    Adam Harries, Michel Steuwer, Murray Cole, Alan Gray and Christophe Dubach

    Proceedings of the Workshop on High-Level Programming for Heterogeneous and Hierarchical Parallel Systems, HLPGPGPU@HiPEAC 2016, Prague, Czech Republic, January 19, 2016

  • Towards Collaborative Performance Tuning of Algorithmic Skeletons

    Chris Cummins, Pavlos Petoumenos, Michel Steuwer and Hugh Leather

    Proceedings of the Workshop on High-Level Programming for Heterogeneous and Hierarchical Parallel Systems, HLPGPGPU@HiPEAC 2016, Prague, Czech Republic, January 19, 2016

  • Autotuning OpenCL Workgroup Size for Stencil Patterns

    Chris Cummins, Pavlos Petoumenos, Michel Steuwer and Hugh Leather

    Proceedings of the 2016 International Workshop on Adaptive Self-tuning Computing Systems, ADAPT@HiPEAC 2016, Prague, Czech Republic, January 18, 2016

    36 citations on Google Scholar.

2014

  • A Composable Array Function Interface for Heterogeneous Computing in Java

    Juan José Fumero, Michel Steuwer and Christophe Dubach

    ARRAY'14: Proceedings of the 2014 ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, Edinburgh, United Kingdom, June 12-13, 2014

    26 citations on Google Scholar.

  • Extending the SkelCL Skeleton Library for Stencil Computations on Multi-GPU Systems

    Stefan Breuer, Michel Steuwer and Sergei Gorlatch

    Proceedings of the 1st International Workshop on High-Performance Stencil Computations, HiStencils@HiPEAC 2014, Vienna, Austria, January 22, 2014

    21 citations on Google Scholar.

2012

  • Using the SkelCL Library for High-Level GPU Programming of 2D Applications

    Michel Steuwer, Sergei Gorlatch, Matthias Buß and Stefan Breuer

    Euro-Par 2012: Parallel Processing Workshops - BDMC, CGWS, HeteroPar, HiBB, OMHI, Paraphrase, PROPER, Resilience, UCHPC, VHPC, Rhodes Islands, Greece, August 27-31, 2012. Revised Selected Papers

  • Uniform High-Level Programming of Many-Core and Multi-GPU Systems

    Philipp Kegel, Michel Steuwer and Sergei Gorlatch

    Transition of HPC Towards Exascale Computing - Selected Papers from the High Performance Computing Workshop, Cetraro, Italy, June 25-29, 2012

  • Towards High-Level Programming of Multi-GPU Systems Using the SkelCL Library

    Michel Steuwer, Philipp Kegel and Sergei Gorlatch

    26th IEEE International Parallel and Distributed Processing Symposium Workshops & PhD Forum, IPDPS 2012, Shanghai, China, May 21-25, 2012

    27 citations on Google Scholar.

  • dOpenCL: Towards a Uniform Programming Approach for Distributed Heterogeneous Multi-/Many-Core Systems

    Philipp Kegel, Michel Steuwer and Sergei Gorlatch

    26th IEEE International Parallel and Distributed Processing Symposium Workshops & PhD Forum, IPDPS 2012, Shanghai, China, May 21-25, 2012

    56 citations on Google Scholar.

2011

  • SkelCL - A Portable Skeleton Library for High-Level GPU Programming

    Michel Steuwer, Philipp Kegel and Sergei Gorlatch

    25th IEEE International Symposium on Parallel and Distributed Processing, IPDPS 2011, Anchorage, Alaska, USA, 16-20 May 2011 - Workshop Proceedings

    212 citations on Google Scholar.

Technical Reports

2024

  • A shared compilation stack for distributed-memory parallelism in stencil DSLs

    George Bisbas, Anton Lydike, Emilien Bauer, Nick Brown, Mathieu Fehr, Lawrence Mitchell, Gabriel Rodriguez-Canal, Maurice Jamieson, Paul H. J. Kelly, Michel Steuwer and Tobias Grosser

  • The MLIR Transform Dialect. Your compiler is more powerful than you think

    Martin Paul Lücke, Oleksandr Zinenko, William S. Moses, Michel Steuwer and Albert Cohen

2023

  • Sidekick compilation with xDSL

    Mathieu Fehr, Michel Weber, Christian Ulmann, Alexandre Lopoukhine, Martin Lücke, Théo Degioanni, Michel Steuwer and Tobias Grosser

  • Descend: A Safe GPU Systems Programming Language

    Bastian Köpcke, Sergei Gorlatch and Michel Steuwer

  • Traced Types for Safe Strategic Rewriting

    Rongxiao Fu, Ornela Dardha and Michel Steuwer

  • Structural Subtyping as Parametric Polymorphism

    Wenhao Tang, Daniel Hillerström, James McKinna, Michel Steuwer, Ornela Dardha, Rongxiao Fu and Sam Lindley

2022

  • BaCO: A Fast and Portable Bayesian Compiler Optimization Framework

    Erik Hellsten, Artur L. F. Souza, Johannes Lenfers, Rubens Lacouture, Olivia Hsu, Adel Ejjeh, Fredrik Kjolstad, Michel Steuwer, Kunle Olukotun and Luigi Nardi

    21 citations on Google Scholar.

  • Primrose: Selecting Container Data Types by their Properties

    Xueying Qin, Liam O'Connor and Michel Steuwer

  • RISE & Shine: Language-Oriented Compiler Design

    Michel Steuwer, Thomas Koehler, Bastian Köpcke and Federico Pizzuti

    13 citations on Google Scholar.

2021

  • Sketch-Guided Equality Saturation: Scaling Equality Saturation to Complex Optimizations in Languages with Bindings

    Thomas Koehler, Phil Trinder and Michel Steuwer

  • Row-Polymorphic Types for Strategic Rewriting

    Rongxiao Fu, Xueying Qin, Ornela Dardha and Michel Steuwer

2020

  • A Language for Describing Optimization Strategies

    Bastian Hagedorn, Johannes Lenfers, Thomas Koehler, Sergei Gorlatch and Michel Steuwer

2018

  • P0836R0 Introduce Parallelism to the Ranges TS

    Gordon Brown, Christopher Di Bella, Michael Haidl, Toomas Remmelg, Ruyman Reyes, Michel Steuwer and Michael Wong

    C++ Standards Committee Papers.

2017

  • Strategy Preserving Compilation for Parallel Functional Code

    Robert Atkey, Michel Steuwer, Sam Lindley and Christophe Dubach

    15 citations on Google Scholar.

2015

  • Patterns and Rewrite Rules for Systematic Code Generation (From High-Level Functional Patterns to High-Performance OpenCL Code)

    Michel Steuwer, Christian Fensch and Christophe Dubach

  • Autotuning OpenCL Workgroup Size for Stencil Patterns

    Chris Cummins, Pavlos Petoumenos, Michel Steuwer and Hugh Leather

Book Chapters

2015

  • Verbesserung der Programmierbarkeit und Performance-Portabilität von Manycore-Prozessoren (Improving Programmability and Performance Portability on Many-Core Processors)

    Michel Steuwer

    Ausgezeichnete Informatikdissertationen 2015 (Distinguished Dissertations in Informatics 2015)

2014

  • Skeleton Programming for Portable Many-Core Computing

    Christopher Kessler, Sergei Gorlatch, Johan Emmyren, Usman Dastgeer, Michel Steuwer and Philipp Kegel

    Programming Multi-core and Many-core Computing Systems

PhD Thesis

2015

  • Improving Programmability and Performance Portability on Many-Core Processors

    Michel Steuwer

    Grade: Summa Cum Laude, Nominated for the prize for best dissertation awarded by the German Informatics Society.

Talks

2025

  • Invited Talk: Slotted E-Graphs
    04/2025, System Seminar at the University of Glasgow, Glasgow, UK.

2024

  • Invited Talk: Scaling Equality Saturation
    10/2024, Shaghai Huawei Research Center, Shanghai, China.
  • Invited Talk: Descend: A Safe GPU Systems Programming Language
    08/2024, Bayes Coffee House Tech Talk Series, Edinburgh, UK.

2023

  • Invited Talk: Guided Equality Saturation
    10/2023, Seminar of the Chair of Compiler Construction at TU Dresden, Desden, Germany.
  • Invited Talk: On bringing a functional pearl into practice: An MLIR-based implementation of the strategy language ELEVATE
    03/2023, LAIV/DSG seminar at Heriot-Watt University, Edinburgh, UK.
  • Invited Talk: On bringing a functional pearl into practice: An MLIR-based implementation of the strategy language ELEVATE
    01/2023, Programming Languages at Glasgow (PLUG) seminar at the University of Glasgow, Glasgow, UK.

2022

  • Invited Talk: Modern DSL Compiler Development with MLIR
    11/2022, Huawei TRC Innovation Summit 2022, Tel Aviv, Israel.
  • Invited Talk: How to Design the Next 700 Optimizing Compilers
    06/2022, High-efficiency computer graphics group at MIT CSAIL, Cambridge, MA, USA.
  • Talk: Achieving High-Performance the Functional Way: Expressing High-Performance Optimizations as Rewrite Strategies
    06/2022, SIGPLAN Track at the SIGPLAN Conference on Programming Language Design and Implementation (PLDI), San Diego, CA, USA.
  • Invited Talk: RISE & Shine: Language-Oriented Compiler Design
    06/2022, Compiler Design Lab Seminar at Saarland University, Saarland, Germany.
  • Talk: Systematically Extending a High-Level Code Generator with Sup- port for Tensor Cores
    04/2022, Workshop on General Purpose Processing using GPU (GPGPU), virtual.

2021

  • Talk: FHPNC Community Update
    09/2021, Workshop on Functional High- Performance and Numerical Computing (FHPNC), virtual.

2020

  • Invited Talk: Achieving High-Performance the Functional Way - Expressing High-Performance Optimizations as Rewrite Strategies
    12/2020, Programming Languages and Systems Research Group (PLAS) group seminar at the University of Kent, virtual.
  • Invited Talk: Compiler Intermediate Representations
    08/2020, Scottish Programming Languages and Verification Summer School 2020 (SPLV 2020), virtual.
  • Talk: Achieving High-Performance the Functional Way - Expressing High-Performance Optimizations as Rewrite Strategies
    17/2020, Scottish Programming Languages Seminar (SPLS), virtual.

2019

  • Invited Talk: ELEVATE: a language to write composable program optimizations
    09/2019, Google DeepMind, London, UK.
  • Invited Talk: Lift: Generating High Performance Code with Rewrite Rules
    02/2019, Programming Languages and Software Engineering Group seminar at the University of Washington, Seattle, WA, USA.
  • Invited Talk: Lift: Generating High Performance Code with Rewrite Rules
    02/2019, Microsoft Research, Redmond, WA, USA.

2018

  • Talk: Implementing lambda calculus in Python and C++
    12/2018, Programming Languages at Glasgow (PLUG) seminar at the University of Glasgow, Glasgow, UK.
  • Talk: High-level Features - Low-level Performance: GPU Performance Pre- diction of Stencils
    11/2018, System Seminar at the University of Glasgow, Glasgow, UK.
  • Invited Talk: Generating Performance Portable Code with Lift
    09/2018, Shonan Meeting No.134: Advances in Heterogeneous Computing from Hardware to Software, Shōnan, Japan.
  • Invited Talk: Lift: Code Generation by Rewriting Algorithmic Skeletons
    03/2018, Dagstuhl Seminar 18111 on Loop Optimizations, Schloss Dagstuhl, Germany.
  • Invited Talk: Programming GPUs with Eager Actions and Lazy Views
    03/2018, Compiler and Architecture Design Group Seminar at the University of Edinburgh, Edinburgh, UK.
  • Talk: The Lift Project: Performance Portable Parallel Code Generation via Rewrite Rules
    02/2018, Formal Analysis, Theory and Algorithms Seminar at the University of Glasgow, Glasgow, UK.

2017

  • Talk: Programming GPUs with Eager Actions and Lazy Views
    11/2017, System Seminar at the University of Glasgow, Glasgow, UK.
  • Talk: The Lift Project: Performance Portable Parallel Code Generation via Rewrite Rules
    11/2017, System Seminar at the University of Glasgow, Glasgow, UK.
  • Invited Talk: The Lift Project: Performance Portable Parallel Code Generation via Rewrite Rules
    10/2017, Microsoft Research, Cambridge, UK.
  • Talk: The Lift Project: Performance Portable Parallel Code Generation via Rewrite Rules
    09/2017, University of Hull HPC Symposium 2017, Hull, UK.
  • Invited Talk: The Lift Project: Performance Portable Parallel Code Generation via Rewrite Rules
    07/2017, University of Münster, Münster, Germany.
  • Talk: Programming GPUs with Eager Actions and Lazy Views
    06/2017, Scottish Programming Languages Seminar (SPLS) at the University of the West of Scotland, Paisley, UK.
  • Talk: Programming GPUs with Eager Actions and Lazy Views
    04/2017, C++ Edinburgh Meetup, Edinburgh, UK.
  • Talk: Lift: A Functional Data-Parallel IR for High-Performance GPU Code Generation
    02/2017, International Symposium on Code Generation and Optimization (CGO) 2017, Austin, TX, USA.
  • Talk: Programming GPUs with Eager Actions and Lazy Views
    02/2017, International Workshop on Programming Models and Applications for Multicores and Manycores (PMAM) 2017, Austin, TX, USA.

2016

  • Invited Talk: The Lift Project: Performance Portable GPU Code Genera- tion via Rewrite Rules
    12/2016, Computer Laboratory Systems Research Group Seminar at the University of Cambridge, Cambridge, UK.
  • Invited Talk: Structured Parallel Programming - From High-Level Func- tional Expressions to High-Performance OpenCL Code
    08/2016, Center for Advanced Electornics at TU Dresden, Dresden, Germany.
  • Invited Talk: Improving Programmability and Performance Portability on Many-Core Processors
    05/2016, Colloquium of candidates nominated for the prize for best dissertation awarded by the German Informatics Society, Scholss Dagstuhl, Germany.
  • Invited Talk: The Lift Project: Performance Portability via Rewrite Rules
    04/2016, Compiler Design Lab Seminar at Saarland University, Saarland, Germany.
  • Invited Talk: Performance Portable GPU Code Generation
    01/2016, Multicore Programming Group seminar at Imperial College, London, UK.

2015

  • Talk: Functional Programming in C++
    12/2015, Programming Language Interest Group at the University of Edinburgh, Edinburgh, UK.
  • Invited Talk: Generating Performance Portable Code using Rewrite Rules
    10/2015, Multicore Programming Group seminar at Imperial College, London, UK.
  • Talk: Generating Performance Portable Code using Rewrite Rules: From High-Level Functional Expressions to High-Performance OpenCL Code
    09/2015, International Conference on Functional Programming (ICFP) 2015, Vancouver, Canada.
  • Talk: Generating Performance Portable Code using Rewrite Rules
    06/2015, Scottish Programming Languages Seminar (SPLS) at the University of St. Andrews, St. Andrews, UK.

2014

  • Invited Talk: SkelCL: High-Level Programming of Multi-GPU Systems
    05/2014, Institute for Computational and Applied Mathematics at the University of Münster, Münster, Germany.
  • Invited Talk: SkelCL: High-Level Programming of Multi-GPU Systems
    05/2014, Workshop on Fast Data Processing on GPUs, Dresden, Germany.
  • Talk: Extending the SkelCL Library for Stencil Computations on Multi-GPU Systems
    01/2014, HiStencils 2014 workshop, Vienna, Austria.

2013

  • Invited Talk: SkelCL: High-Level Programming of Multi-GPU Systems
    12/2013, Research group on elementary particle physics at the University of Wuppertal, Wuppertal, Germany.
  • Talk: Introducing and Implementing the Allpairs Skeleton for GPU Systems
    07/2013, HLPP 2013 workshop, Paris, France.
  • Talk: High-Level Programming for Medical Imaging on Multi-GPU Systems using the SkelCL Library
    06/2013, ICCS 2013 conference, Barcelona, Spain.

2012

  • Talk: Using the SkelCL Library for High-Level GPU Programming of 2D Applications
    08/2012, ParaPhrase 2012 workshop, Rhodes, Greece.
  • Talk: High-Level Programming for Heterogeneous Systems with Accelerators
    06/2012, PDESoft 2012 workshop, Münster, Germany.
  • Talk: Towards High-Level Programming of Multi-GPU Systems Using the SkelCL Library
    05/2012, AsHES 2012 workshop, Shanghai, China.
  • Invited Talk: A Skeleton Library for Heterogeneous Multi-/Many-Core Systems
    04/2012, NAIS workshop, Edinburgh, UK.
  • Talk: Towards a High-Level Approach for Programming Distributed Systems with GPUs
    01/2012, COST Action IC0805 (“ComplexHPC”) meeting, Timisoara, Romania.

2011

  • Invited Talk: SkelCL - A High-Level Programming Library for GPU Pro- gramming
    12/2011, Jülich Supercomputing Centre (JSC), Jülich, Germany.
  • Talk: SkelCL - A Portable Skeleton Library for High-Level GPU Programming
    05/2011, HIPS 2011 workshop, Anchorage, AK, USA.

2008

  • Invited Talk: Development of an Online Game as a Student Project
    09/2008, ITSoft-TEAM workshop, Chernihiv, Ukraine.

Community Activities

Organization Committees
  • General Chair of PPoPP 2024
  • Steering Committee Chair of CGO (since 2025)
  • Steering Committee Member of CGO (since 2021) and PPoPP (since 2024)
  • Local Organization Co-Chair of HiPEAC Computer Systems Week April 2019, Scottish Programming Language Seminar March 2018 and October 2019, and, UK Many-Core Developer Conference May 2016.
Program Committees
  • Program Committee Co-Chair of CGO 2024
  • Program Committee Member of OOPSLA 2026, PLDI 2025, GPCE 2025, 2024, 2020, 2019, SLE 2024, Haskell 2023, Euro-Par 2023, CGO 2022, 2020, 2019, CC 2020, ICPP 2020, FHPNC 2021, 2020, HLPP 2020, 2019, 2018, 2017, 2016, LCTES 2019, 2018, DHPC++ Workshop 2019, 2018, and, IEEE ScalCom 2016.
Artifact Evaluation Committees
  • Artifact Evaluation Co-Chair of CGO 2021, 2020, 2019, 2018, CC 2021, 2020, and, LCTES 2019, 2018
  • Artifact Evaluation Committee Member of ICFP 2017, CGO 2017, PACT 2016.
Other Reviewing Activities
  • External reviewer for journals: Communications of the ACM, ACM TODS, ACM TACO, ACM Computing Surveys, Science of Computer Programming Journal (Elsevier), The Journal of Supercomputing (Springer), and, Software: Practice and Experience (Wiley).
  • External reviewer for conferences: MLSys, CC, CGO, Euro-Par, EuroMPI, CC-Grid, and, ParCo.
  • Reviewer for funding bodies: German Research Foundation (DFG), German Federal Ministry of Education and Research (BMBF), UK Engineering and Physical Science Research Council (EPSRC), Netherlands Organisation for Scientific Research (NWO), and, Natural Sciences and Engineering Research Council of Canada (NSERC).