Tiark Rompf

Home
| Research
| Notes
| Publications
| Talks
| Group
| Teaching
| Service
Publications
See also Google Scholar and DBLP. Many papers are available in PDF form here.
Current Preprints
Conferences/Workshops (Full Papers)
2022
-
What if we Don't Pop the Stack? The Return of Second-Class Values.
Anxhelo Xhebraj, Oliver Bracevac, Guannan Wei, Tiark Rompf.
ECOOP '22
-
Efficient Incrementialization of Correlated Nested Aggregate Queries using Relative Partial Aggregate Indexes (RPAI).
Supun Abeysinghe, Qiyang He, Tiark Rompf.
SIGMOD '22
-
Towards Partially Evaluating Symbolic Interpreters for All.
Shangyin Tan, Guannan Wei, Tiark Rompf.
PEPM '22
2021
-
Prolog-Style Meta-Programming miniKanren.
Nada Amin, William E. Byrd, Tiark Rompf.
miniKanren and Relational Programming Workshop '21
-
On-Stack Replacement for Program Generators and Source-to-Source Compilers.
Gregory Essertel, Ruby Tahboub, Tiark Rompf.
GPCE '21
-
HACCLE: Metaprogramming for Secure Multi-party Computation.
Yuyan Bao,
Kirshanthan Sundararajah,
Raghav Malik,
Qianchuan Ye,
Christopher Wagner,
Nouraldin Jaber,
Fei Wang,
Mohammad Hassan Ameri,
Donghang Lu,
Alexander Seto,
Benjamin Delaware,
Roopsha Samanta,
Aniket Kate,
Christina Garman,
Jeremiah Blocki,
Pierre-David Letourneau,
Benoit Meister,
Jonathan Springer,
Tiark Rompf,
Milind Kulkarni.
GPCE '21
-
Reachability Types: Tracking Aliasing and Separation in Higher-Order Functional Programs.
Yuyan Bao, Guannan Wei, Oliver Bračevac, Yuxuan Jiang, Qiyang He, Tiark Rompf.
OOPSLA '21
-
LLSC: a parallel symbolic execution compiler for LLVM IR.
Guannan Wei, Shangyin Tan, Oliver Bračevac, Tiark Rompf.
FSE '21
2020
-
Compiling Symbolic Execution with Staging and Algebraic Effects.
Guannan Wei, Oliver Bračevac, Shangyin Tan, Tiark Rrompf.
OOPSLA '20
-
Architecting a Query Compiler for Spatial Workloads.
Ruby Tahboub, Tiark Rompf.
SIGMOD '20
2019
-
Parallel Training via Computation Graph Transformation.
Fei Wang, Guoyang Chen, Weifeng Zhang, Tiark Rompf.
IEEE Big Data '19
-
Lightweight Functional Logic Meta-Programming.
Nada Amin, William Byrd, Tiark Rompf.
APLAS '19
-
A Stage-Polymorphic IR for Compiling MATLAB-Style Dynamic Tensor Expressions.
Alen Stojanov, Tiark Rompf, Markus Püschel.
GPCE '19
-
Staged Abstract Interpreters.
Guannan Wei,
Yuxuan Chen,
Tiark Rompf.
OOPSLA '19
-
Precise Reasoning with Structured Time, Structured Heaps, and Collective Operations.
Gregory Essertel,
Guannan Wei,
Tiark Rompf.
OOPSLA '19
-
Demystifying Differentiable Programming: Shift/Reset the Penultimate Backpropagator.
Fei Wang,
Daniel Zheng,
James Decker,
Xilun Wu,
Gregory Essertel,
Tiark Rompf.
ICFP '19
-
Compiling with Continuations, or without? Whatever.
Youyou Cong,
Leo Osvald,
Grégory Essertel,
Tiark Rompf.
ICFP '19
-
Graph Neural Reasoning for 2-Quantified Boolean Formula Solver.
Zhanfu Yang,
Fei Wang,
Ziliang Chen,
Guannan Wei,
Tiark Rompf.
Learning and Reasoning with Graph-Structured Data (ICML '19 Workshop)
-
Flare & Lantern: Efficiently Swapping Horses Midstream.
Gregory Essertel,
Ruby Tahboub,
Fei Wang,
James Decker,
Tiark Rompf.
VLDB '19 Demo Track
-
Towards compiling graph queries in relational engines.
Ruby Y. Tahboub,
Xilun Wu,
Gregory Essertel,
Tiark Rompf.
DBPL '19
-
AutoGraph: Imperative-Style Coding with Graph-Based Performance.
Dan Moldovan, James M Decker, Fei Wang, Andrew A Johnson, Brian K Lee, Zachary Nado, D Sculley, Tiark Rompf, Alexander B Wiltschko.
SysML '19
2018
-
Backpropagation with Callbacks: Towards Efficient and Expressive Differentiable Programming
Fei Wang, James Decker, Xilun Wu, Grégory Essertel, Tiark Rompf.
NeurIPS '18
-
Flare: Optimizing Apache Spark for Scale-Up Architectures and Medium-Size Data.
Grégory Essertel, Ruby Tahboub, James Decker, Kevin J. Brown, Kunle Olukotun, Tiark Rompf.
OSDI '18
-
Refunctionalization of Abstract Abstract Machines (Functional Pearl).
Guannan Wei, James Decker, Tiark Rompf.
ICFP '18
-
How to Architect a Query Compiler, Revisited.
Ruby Tahboub, Grégory Essertel, Tiark Rompf.
SIGMOD '18
-
SIMD Intrinsics on Managed Language Runtimes
Alen Stojanov, Ivaylo Toskov, Tiark Rompf, Markus Püschel.
CGO '18
-
Collapsing Towers of Interpreters.
Nada Amin, Tiark Rompf.
POPL '18
2017
-
Staging for Generic Programming in Space and Time.
Georg Ofenbeck, Tiark Rompf, Markus Püschel.
GPCE '17
-
Rust-Like Borrowing with 2nd-Class Values (Short Paper).
Leo Osvald, Tiark Rompf.
SCALA '17
-
Flexible Data Views: Design and Implementation
Leo Osvald, Tiark Rompf.
ARRAY '17
-
Towards Strong Normalization for Dependent Object Types (DOT).
Fei Wang, Tiark Rompf.
ECOOP '17
-
Composing middlebox and traffic engineering policies in SDNs
Yiyang Chang, Gustavo Petri, Sanjay Rao, Tiark Rompf.
SWFAN '17
-
Type Soundness Proofs with Definitional Interpreters.
Nada Amin, Tiark Rompf.
POPL '17
-
LMS-Verify: Abstraction Without Regret for Verified Systems Programming.
Nada Amin, Tiark Rompf.
POPL '17
-
Functional Parallels of Sequential Imperatives (Short Paper).
Tiark Rompf, Kevin J. Brown.
PEPM '17
2016
-
Reflections on LMS: Exploring Front-End Alternatives.
Tiark Rompf.
SCALA '16
-
RandIR: Differential Testing for Embedded Compilers.
Georg Ofenbeck, Tiark Rompf, Markus Püschel.
SCALA '16
-
On Supporting Compilation in Main-Memory Spatial Query Engines.
Ruby Tahboub, Grégory Essertel, Tiark Rompf.
SIGSPATIAL '16
-
Type Soundness for Dependent Object Types (DOT).
Tiark Rompf, Nada Amin.
OOPSLA '16
-
Gentrification Gone too Far? Affordable 2nd-Class Values for Fun and (Co-)Effect.
Leo Osvald, Grégory Essertel, Xilun Wu, Lilliam I. González-Alayón, Tiark Rompf.
OOPSLA '16
-
The Essence of Multi-Stage Evaluation in LMS.
Tiark Rompf.
WadlerFest '16
-
The Essence of Dependent Object Types.
Nada Amin, Samuel Gruetter, Martin Odersky, Tiark Rompf, Sandro Stucki.
WadlerFest '16
-
Have Abstraction and Eat Performance Too: Optimized Heterogeneous Computing with Parallel Patterns.
Kevin Brown, Hyoukjoong Lee, Tiark Rompf, Arvind Sujeeth, Christopher De Sa, Christopher Aberger, Kunle Olukotun.
CGO '16
2015
-
Functional Pearl: A SQL to C Compiler in 500 Lines of Code.
Tiark Rompf, Nada Amin.
ICFP '15
-
RRB Vector: A Practical General Purpose Immutable Sequence.
Nicolas Stucki, Tiark Rompf, Vlad Ureche, Phil Bagwell.
ICFP '15
-
Go Meta! A Case for Generative Programming and DSLs in Performance Critical Systems.
Tiark Rompf, Kevin J Brown, HyoukJoong Lee, Arvind K Sujeeth, Manohar Jonnalagedda, Nada Amin, Georg Ofenbeck, Alen Stojanov, Yannis Klonatos, Mohammad Dashti, Christoph Koch, Markus Püschel, Kunle Olukotun.
SNAPL '15
2014
-
Locality-Aware Mapping of Nested Parallel Patterns on GPUs.
HyoukJoong Lee, Kevin J. Brown, Arvind K. Sujeeth, Tiark Rompf, Kunle Olukotun.
MICRO '14
-
Foundations of Path-Dependent Types.
Nada Amin, Tiark Rompf, Martin Odersky.
OOPSLA '14
-
Staged Parser Combinators for Efficient Data Processing.
Manohar Jonnalagedda, Thierry Coppey, Sandro Stucki, Tiark Rompf, Martin Odersky.
OOPSLA '14
-
Hardware System Synthesis from Domain-Specific Languages.
Nithin George, Hyoukjoong Lee, David Novo, Tiark Rompf, Kevin Brown, Arvind Sujeeth, Martin Odersky, Kunle Olukotun and Paolo Ienne.
FPL '14
-
Computing with an SMT Solver.
Nada Amin, K. Rustan M. Leino, Tiark Rompf.
TAP '14
-
Abstracting Vector Architectures in Library Generators: Case Study Convolution Filters.
Alen Stojanov, Georg Ofenbeck, Tiark Rompf, Markus Püschel.
ARRAY '14
-
Building Efficient Query Engines in a High-Level Language.
Yannis Klonatos, Christoph Koch, Tiark Rompf, Hassan Chafi.
VLDB '14 (Best Paper Award)
-
Surgical Precision JIT Compilers.
Tiark Rompf, Arvind K Sujeeth, Kevin J Brown, HyoukJoong Lee, Hassan Chafi, Kunle Olukotun.
PLDI '14
2013
-
Making Domain-Specific Hardware Synthesis Tools Cost-Efficient.
Nithin George, David Novo, Tiark Rompf, Martin Odersky, Paolo Ienne.
ICFPT '13
-
Spiral in Scala: Towards the Systematic Construction of Generators for Performance Libraries.
Georg Ofenbeck, Tiark Rompf, Alen Stojanov, Martin Odersky, Markus Püschel.
GPCE '13
-
Forge: Generating a High Performance DSL Implementation from a Declarative Specification.
Arvind K Sujeeth, Austin Gibbons, Kevin J Brown, HyoukJoong Lee, Tiark Rompf, Martin Odersky, Kunle Olukotun.
GPCE '13
-
What are the Odds? Probabilistic Programming in Scala.
Sandro Stucki, Nada Amin, Manohar Jonnalagedda, Tiark Rompf.
Scala Workshop '13
-
Composition and Reuse with Compiled Domain-Specific Languages.
Arvind K. Sujeeth, Tiark Rompf, Kevin J. Brown, HyoukJoong Lee, Hassan Chafi, Victoria Popic, Michael Wu, Aleksander Prokopec, Vojin Jovanovic, Martin Odersky, Kunle Olukotun.
ECOOP '13
-
Optimizing Data Structures in High-Level Programs: New Directions for Extensible Compilers based on Staging.
Tiark Rompf, Arvind K. Sujeeth, Nada Amin, Kevin J. Brown, Vojin Jovanovic, HyoukJoong Lee, Martin Odersky, Kunle Olukotun.
POPL '13
2012
-
Jet: An Embedded DSL for High Performance Big Data Processing.
Stefan Ackermann, Vojin Jovanovic, Tiark Rompf, Martin Odersky.
BigData Workshop '12
-
JavaScript as an Embedded DSL.
Grzegorz Kossakowski, Nada Amin, Tiark Rompf, Martin Odersky.
ECOOP '12
-
Scala-Virtualized.
Adriaan Moors, Tiark Rompf, Philipp Haller, Martin Odersky.
PEPM '12 (selected for HOSC special issue)
-
StagedSAC: A Case Study in Performance-Oriented DSL Development.
Vlad Ureche, Tiark Rompf, Arvind Sujeeth, Hassan Chafi, Martin Odersky.
PEPM '12
2011
-
A Heterogeneous Parallel Framework for Domain-Specific Languages.
Kevin J. Brown, Arvind K. Sujeeth, HyoukJoong Lee, Tiark Rompf, Hassan Chafi, Martin Odersky, Kunle Olukotun.
PACT '11
-
Building-Blocks for Performance Oriented DSLs.
Tiark Rompf, Arvind K. Sujeeth, HyoukJoong Lee, Kevin J. Brown, Hassan Chafi, Martin Odersky, Kunle Olukotun.
DSL '11
-
A Generic Parallel Collection Framework.
Aleksandar Prokopec, Phil Bagwell, Tiark Rompf, Martin Odersky.
Euro-Par '11
-
OptiML: An Implicitly Parallel Domain-Specific Language for Machine Learning.
Arvind K. Sujeeth, HyoukJoong Lee, Kevin J. Brown, Tiark Rompf, Hassan Chafi, Michael Wu, Anand R. Atreya, Martin Odersky, Kunle Olukotun.
ICML '11
2010
-
Language Virtualization for Heterogeneous Parallel Computing.
Hassan Chafi, Zach DeVito, Adriaan Moors, Tiark Rompf, Arvind K. Sujeeth, Pat Hanrahan, Martin Odersky, Kunle Olukotun.
Onward! '10
-
Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs.
Tiark Rompf, Martin Odersky.
GPCE '10 (selected as SIGPLAN CACM research highlight)
2009
-
Implementing First-Class Polymorphic Delimited Continuations by a Type-Directed Selective CPS-Transform.
Tiark Rompf, Ingo Maier, Martin Odersky.
ICFP '09
-
A Cryptographically t-Private Auction System.
Markus Hinkelmann, Andreas Jakoby, Nina Moebius, Tiark Rompf, Peer Stechert.
NSS '09
Workshops (Extended Abstracts)
-
A Language and Compiler View on Differentiable Programming.
Fei Wang, Tiark Rompf.
ICLR Workshop Track 2018
-
Abstraction Without Regret for Efficient Data Processing.
Tiark Rompf, Nada Amin, Thierry Coppey, Mohammad Dashti, Manohar Jonnalagedda, Yannis Klonatos, Martin Odersky, Christoph Koch.
DCP 2014
-
Language Support for the Construction of High Performance Code Generators.
Georg Ofenbeck, Tiark Rompf, Alen Stojanov, Martin Odersky, Markus Püschel.
ADAPT 2014
-
Mind the Gap: Artifacts vs Insights in PL Theory.
Nada Amin, Tiark Rompf.
OBT 2014
-
Delite: A Compiler Framework for High-Performance Embedded DSLs.
Tiark Rompf, Arvind K. Sujeeth, Kevin J. Brown, HyoukJoong Lee, Hassan Chafi, Martin Odersky, Kunle Olukotun.
DSLFIN 2013
-
Crossing the Software-Hardware Chasm with DSLs.
Arvind K. Sujeeth, Tiark Rompf, HyoukJoong Lee, Kevin J. Brown, Hassan Chafi, Martin Odersky, Kunle Olukotun.
OBT 2013
Technical Reports
-
From Gameplay to Symbolic Reasoning: Learning SAT Solver Heuristics in the Style of Alpha(Go) Zero.
Fei Wang, Tiark Rompf.
Technical Report, Purdue University, 2018
[arxiv]
[pdf]
-
From F to DOT: Type Soundness Proofs with Definitional Interpreters.
Tiark Rompf, Nada Amin.
Technical Report, Purdue University, 2015
[arxiv]
[pdf]
-
RRB-Trees: Efficient Immutable Vectors.
Phil Bagwell, Tiark Rompf.
Technical Report, EPFL, 2011
[pdf]
-
Deprecating the Observer Pattern.
Ingo Maier, Tiark Rompf, Martin Odersky.
Technical Report, EPFL, 2010
[pdf]
Journals
-
A SQL to C Compiler in 500 Lines of Code.
Tiark Rompf, Nada Amin.
Journal of Functional Programming, Volume 29, 2019.
-
Unifying Functional and Object-Oriented Programming with Scala.
Martin Odersky, Tiark Rompf.
Commun. ACM: April 2014
-
Delite: A Compiler Architecture for Performance-Oriented Embedded Domain-Specific Languages.
Arvind K. Sujeeth, Kevin J. Brown, HyoukJoong Lee, Tiark Rompf, Hassan Chafi, Martin Odersky, Kunle Olukotun.
ACM Trans. on Embedded Computing Systems (TECS), Volume 13, Issue 4s, April 2014.
-
Scala-Virtualized: Linguistic Reuse for Deep Embeddings.
Tiark Rompf, Nada Amin, Adriaan Moors, Philipp Haller, Martin Odersky.
Higher-Order and Symbolic Computation, September 2013
-
Lightweight Modular Staging: A Pragmatic Approach to Runtime Code Generation and Compiled DSLs.
Tiark Rompf, Martin Odersky.
Commun. ACM 55(6): 121-130 (2012)
-
Implementing Domain-Specific Languages for Heterogeneous Parallel Computing.
HyoukJoong Lee, Kevin J. Brown, Arvind K. Sujeeth, Hassan Chafi, Tiark Rompf, Martin Odersky, Kunle Olukotun.
IEEE Micro: Special Issue on CPU, GPU, and Hybrid Computing, September/October 2011
-
Markus Hinkelmann, Andreas Jakoby, Nina Moebius, Tiark Rompf, Peer Stechert.
A Cryptographically t-Private Auction System.
Concurrency and Computation: Practice and Experience 23(12): 1399-1413 (2011)
Theses
-
Lightweight Modular Staging and Embedded Compilers: Abstraction Without Regret for High-Level High-Performance Programming.
Tiark Rompf.
PhD Thesis, LAMP, EPFL, 2012
[pdf]
-
Design and Implementation of a Programming Language for Concurrent Interactive Systems.
Tiark Rompf.
Master Thesis, Institute of Software Technology and Programming Languages, University of Lübeck, 2007
[pdf]