6 papers · 1 filter
Tensor Seeks Layout: Formalizing Layout Selection for ML Compilers
Clemens Eisenhofer, Yuwen Jia, Daniel Kroening +1
Modern machine learning compilers select tensor memory layouts to minimize execution cost under hardware constraints. Layout selection is global: an operator may be fastest under o…
Mostly Automatic Translation of Language Interpreters from C to Safe Rust
Bo Wang, Brandon Paulsen, Joey Dodds +3
Translating C programs to safe Rust is challenging owing to significant differences in typing constraints, ownership, and borrowing rules. Interpreter programs are particularly imp…
Axon: A Synthesizing Superoptimizer for Tensor Programs
Akash Kothari, Shaowei Zhu, Daniel Kroening +1
Writing high performance kernels for AI accelerators requires deep expertise in tiling, instruction selection, data layout, and operator fusion placing a significant burden on prog…
Program Synthesis from Partial Traces
Margarida Ferreira, Victor Nicolet, Joey Dodds +1
We present the first technique to synthesize programs that compose side-effecting functions, pure functions, and control flow, from partial traces containing records of only the si…
Scalable, Validated Code Translation of Entire Projects using Large Language Models
Hanliang Zhang, Cristina David, Meng Wang +2
Large language models (LLMs) show promise in code translation due to their ability to generate idiomatic code. However, a significant limitation when using LLMs for code translatio…
VERT: Verified Equivalent Rust Transpilation with Large Language Models as Few-Shot Learners
Aidan Z. H. Yang, Yoshiki Takashima, Brandon Paulsen +2
Rust is a programming language that combines memory safety and low-level control, providing C-like performance while guaranteeing the absence of undefined behaviors by default. Rus…