Compositional Deep Argument Flattening
summary
Presents a compositional mechanism that uncurries and unboxes nested and curried arguments across module boundaries, implemented as argument transformers in the ML Kit optimizer and proven type‑preserving and safe (no extra allocations). Uses a two‑pass smart recompilation loop with shrinking lambda elimination and region memory management. Empirical results compare against Milton: some benchmarks reach Milton’s speed, Milton is about 2x faster on others, and a few cases (e.g., mergesort with regions) show ML Kit faster. Tooling and semantics work; more tuning remains.
AI-written summary · about
chapters (12)
- 0:00Introduction to talk
- 1:26Problem with boxing values
- 3:12Compilation strategies overview
- 5:01Argument flattening approach
- 8:17Argument transformer operations
- 12:10Inferring transformers safely
- 15:01Call site transformation rules
- 18:16Integration in ML Kit
- 23:42Empirical evaluation results
- 26:36Related work comparison
- 27:41Conclusion and future work
- 28:39Q&A session
related talks
34mModular Storage Mode Analysis
37mContractions Are Abstractions - Towards Effective Memory Management in ReML
11mEnabling Composition of Kernels and Compilers
23mBetter Defunctionalization through Lambda Set Specialization
25mNice to Meet You: Synthesizing Practical MLIR Abstract Transformers
48mCross-Domain Compilation: Exploiting Synergies Across the CS Community
20mVectorizing Sparse Coiteration for Two-finger Loop Structure (Extended Abstract)
23mDeep Fusion for Efficient Nested Recursive Computations
