🤖 AI Summary
This work addresses the limitations of traditional speed-of-light performance analysis, which relies on error-prone manual derivations and struggles to keep pace with rapid model iteration. The authors propose SOLAR, a novel framework that, for the first time, enables end-to-end automated generation and verification of speed-of-light performance bounds for deep learning models. SOLAR integrates large language models with a deterministic analytical pipeline: an LLM frontend generates Affine Loop IR, constructs einsum graphs, and performs analytical modeling, enabling operator-level coverage, cache-aware analysis, and inverse roofline hardware planning. Experiments on KernelBench, JAX/Flax models, and robotics workloads demonstrate that SOLAR achieves zero speed-of-light violations and effectively guides the identification of optimization opportunities and cross-platform performance exploration.
📝 Abstract
How fast could a deep-learning model run on target hardware, and how far is today's implementation from that limit? These questions are central to software, hardware, and algorithm optimizations. Speed-of-Light (SOL) analysis answers them by computing a workload's theoretical minimum execution time on a given architecture. Yet deriving SOL bounds remains manual, error-prone, and disconnected from rapid model development. To close this gap, we introduce SOLAR, a framework that automatically derives validated SOL bounds from PyTorch and JAX source code. SOLAR leverages both generative and deterministic components in its flow: an LLM frontend translates any source programs into an executable Affine Loop IR, validated by output comparison; a deterministic flow lifts the IR into an einsum graph; and an analytical backend computes unfused, fused, and cache-aware SOL bounds. SOLAR provides comprehensive operator and language coverage, produces validated bounds with zero observed SOL violations, and offers multi-fidelity analysis that tightens bounds and surfaces optimization insights. We evaluate SOLAR across KernelBench, JAX/Flax models, and robotics workloads. These experiments demonstrate four use cases: headroom analysis at multiple fidelity levels, identifying optimization opportunities, cross-platform exploration, and inverse-roofline hardware provisioning.