PluS: Highly Efficient and Expandable ML Compiler with Pluggable Graph Schedules
summary
PluS implements a loop-centric plus graph abstraction plus a pattern warehouse for decoupled subgraph matching and a PluS code template interface, letting experts supply loop-skeleton schedules while the compiler fuses trivial ops and handles dynamic shapes. Implemented atop Pouch2, PluS greedily matches skeleton operators, collapses merged loops, and auto-generates load/compute/writeback code. Evaluation on two NVIDIA GPUs and five models reports up to 4.04× speedup over rule-based embedded compilers, 1.77× vs TensorRT, and ~8% over AITemplate.
AI-written summary · about
chapters (13)
- 0:00Introduction to PluS
- 1:44Compiler workflow and limits
- 3:32Challenges with pluggable compilers
- 4:57Key idea behind PluS design
- 6:22PluS system overview
- 7:03PluS graph representation
- 9:10Loop merging in PluS
- 10:37Pattern matching in PluS
- 11:19Code generation with PluS
- 12:20Evaluation and performance
- 13:23Case studies and analysis
- 14:07Modern ML compiler challenges
- 14:50Future work and Q&A
related talks
01h 07mParallel-by-construction Tree Manipulation with APL (Part 2)
24mVerified Tensor-Program Optimization Via High-Level Scheduling Rewrites
57mHigh-Performance Logic Programming on Servers, Clusters, and GPUs
21mgoSLP - Globally Optimized Superword Level Parallelism Framework
54mProgramming Language Design and Implementation for the Machine Learning Era: A Personal(…)
32mCompilation of Dynamic Sparse Tensor Algebra
14mnnScaler: Constraint-Guided Parallelization Plan Generation for Deep Learning Training
14mPollux: Co-adaptive Cluster Scheduling for Goodput-Optimized Deep Learning
