Declarative programming paradigms from logic programming and relational algebra to deep probabilistic programming gain their expressiveness from nondeterminism, but efficient evaluation of even theoretically tractable nondeterministic programs poses formidable engineering challenges, especially when the language is embedded as a domain-specific language in a general-purpose higher-order language like Python or Haskell. We aim to show that array broadcasting, an underappreciated semantic feature of modern embedded array programming systems like PyTorch and JAX, makes it possible to convert these systems into powerful, general and easy-to-use optimizing compiler toolchains for embedded nondeterministic DSLs.
slides (Tensor Partial Evaluation.pdf) | 2.69MiB |
extended abstract (hope21-paper4.pdf) | 290KiB |
Sun 22 AugDisplayed time zone: Seoul change
Sun 22 Aug
Displayed time zone: Seoul change
23:30 - 01:00 | |||
23:30 30mTalk | First-class Names for Effect Handlers HOPE Ningning Xie University of Toronto, Youyou Cong Tokyo Institute of Technology, Daan Leijen Microsoft Research | ||
00:00 30mTalk | Tensor Partial Evaluation HOPE Eli Bingham Broad Institute, Fritz Obermeyer Broad Institute of MIT and Harvard, Yerdos Ordabayev Brandeis University, Du Phan UIUC File Attached | ||
00:30 30mTalk | Dynamic Scope + Laziness = Counterfactuals HOPE James Koppel Massachusetts Institute of Technology, USA, Armando Solar-Lezama Massachusetts Institute of Technology, Zenna Tavares Massachusetts Institute of Technology, Xin Zhang Peking University File Attached |