ECOOP 2024
Mon 16 - Fri 20 September 2024 Vienna, Austria
co-located with ISSTA/ECOOP 2024
Wed 18 Sep 2024 14:45 - 15:00 at EI 2 Pichelmayer - Verification Chair(s): João Costa Seco

Tensor processing infrastructures such as deep learning frameworks and specialized hardware accelerators have revolutionized how computationally intensive code from domains such as deep learning and image processing is executed and optimized. These infrastructures provide powerful and expressive abstractions while ensuring high performance. However, to utilize them, code must be written specifically using the APIs / ISAs of such software frameworks or hardware accelerators. Importantly, given the fast pace of innovation in these domains, code written today quickly becomes legacy as new frameworks and accelerators are developed, and migrating such legacy code manually is a considerable effort.

To enable developers in leveraging such DSLs while preserving their current programming paradigm, we describe our experience in building Tenspiler, a verified lifting-based compiler that uses program synthesis to translate sequential programs written in general-purpose programming languages (e.g., C++ or Python code that does not leverage any specialized framework or accelerator) into tensor operations. Central to Tenspiler is our carefully crafted yet simple intermediate language, named TensIR, that expresses tensor operations. TensIR enables efficient lifting, verification, and code generation. Unlike classical pattern-matching-based compilers, Tenspiler uses program synthesis to translate input code into TensIR, which is then compiled to the target API / ISA. Currently, Tenspiler already supports \textbf{six} distinct DSLs, spanning a broad spectrum of software and hardware environments. Furthermore, we show that new backends can be easily supported by Tenspiler by adding simple pattern-matching rules for TensIR. Using 10 real-world code benchmark suites, our experimental evaluation shows that by translating code to be executed on 6 different software frameworks and hardware devices, Tenspiler offers on average \textbf{105$\times$} kernel and \textbf{9.65$\times$} end-to-end execution time improvement over the fully-optimized sequential implementation of the same benchmarks.

Wed 18 Sep

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:00
VerificationTechnical Papers at EI 2 Pichelmayer
Chair(s): João Costa Seco NOVA-LINCS; Nova University of Lisbon
13:30
15m
Talk
A Dynamic Logic for Symbolic Execution for the Smart Contract Programming Language Michelson
Technical Papers
Barnabas Arvay University of Freiburg, Thi Thu Ha Doan University of Freiburg, Peter Thiemann University of Freiburg, Germany
13:45
15m
Talk
Qafny: A Quantum-Program Verifier
Technical Papers
Liyi Li Iowa State University, Mingwei Zhu University of Maryland, College Park, Rance Cleaveland University of Maryland, Alexander Nicolellis Iowa State University, Yi Lee University of Maryland, College Park, Le Chang University of Maryland, College Park, Xiaodi Wu University of Maryland
14:00
15m
Talk
Verifying Lock-free Search Structure Templates
Technical Papers
Nisarg Patel New York University, Dennis Shasha New York University, Thomas Wies New York University
14:15
15m
Talk
Mover Logic: A Concurrent Program Logic for Reduction and Rely-Guarantee Reasoning
Technical Papers
Stephen N. Freund Williams College, Cormac Flanagan University of California at Santa Cruz
14:30
15m
Talk
Compositional Symbolic Execution for Correctness and Incorrectness Reasoning
Technical Papers
Andreas Lööw Imperial College London, Daniele Nantes-Sobrinho Imperial College London, Sacha-Élie Ayoun Imperial College London, Caroline Cronjäger Ruhr-Universität Bochum, Petar Maksimović Imperial College London, UK, Philippa Gardner Imperial College London
14:45
15m
Talk
Tenspiler: A Verified Lifting-Based Compiler for Tensor Operations
Technical Papers
Jie Qiu Duolingo, Colin Cai University of California, Berkeley, Sahil Bhatia University of California, Berkeley, Niranjan Hasabnis Code Metal, Sanjit Seshia UC Berkeley, Alvin Cheung University of California at Berkeley

Information for Participants
Wed 18 Sep 2024 13:30 - 15:00 at EI 2 Pichelmayer - Verification Chair(s): João Costa Seco
Info for room EI 2 Pichelmayer:

Map: https://tuw-maps.tuwien.ac.at/?q=CF0235

Room tech: https://raumkatalog.tiss.tuwien.ac.at/room/15717