paper-with-me

홈 › Papers

Morello: Compiling Fast Neural Networks with Dynamic Programming and Spatial Compression

2025-05-03 · Samuel J. Kaufman, René Just, Rastislav Bodik

High-throughput neural network inference requires coordinating many optimization decisions, including parallel tiling, microkernel selection, and data layout. The product of these decisions forms a search space of programs which is typically intractably large. Existing approaches (e.g., auto-schedulers) often address this problem by sampling this space heuristically. In contrast, we introduce a dynamic-programming-based approach to explore more of the search space by iteratively decomposing large program specifications into smaller specifications reachable from a set of rewrites, then composing a final program from each rewrite that minimizes an affine cost model. To reduce memory requirements, we employ a novel memoization table representation, which indexes specifications by coordinates in $Z_{\geq 0}$ and compresses identical, adjacent solutions. This approach can visit a much larger set of programs than prior work. To evaluate the approach, we developed Morello, a compiler which lowers specifications roughly equivalent to a few-node XLA computation graph to x86. Notably, we found that an affine cost model is sufficient to surface high-throughput programs. For example, Morello synthesized a collection of matrix multiplication benchmarks targeting a Zen 1 CPU, including a 1x2048x16384, bfloat16-to-float32 vector-matrix multiply, which was integrated into Google's gemma.cpp.

📄 PDF Abstract BibTeX arXiv:2505.01637

Code (1)

samkaufman/morello 공식 구현

Tasks

CPU

Methods 이 논문이 사용한 방법론

SET Dynamic Sparse Training method where weight mask is updated randomly periodically

Similar Papers 제목 키워드 기반

Compiling to recurrent neurons

2025-11-18 · Joey Velez-Ginorio, Nada Amin, Konrad Kording, Steve Zdancewic arxiv

Discrete structures are currently second-class in differentiable programming. Since functions over discrete structures lack overt derivatives, differentiable programs do not differentiate through them and limit where the…

Empowering In-Browser Deep Learning Inference on Edge Devices with Just-in-Time Kernel Optimizations

2023-09-16 · Fucheng Jia, Shiqi Jiang, Ting Cao, Wei Cui 외

Web is increasingly becoming the primary platform to deliver AI services onto edge devices, making in-browser deep learning (DL) inference more prominent. Nevertheless, the heterogeneity of edge devices, combined with th…

Reproducible Science with LaTeX

2020-10-04 · Haim Bar, Haiying Wang

This paper proposes a procedure to execute external source codes from a LaTeX document and include the calculation outputs in the resulting Portable Document Format (pdf) file automatically. It integrates programming too…

Optimal Immunization Policy Using Dynamic Programming

2019-10-19 · Atiye Alaeddini, Daniel Klein

Decisions in public health are almost always made in the context of uncertainty. Policy makers are responsible for making important decisions, faced with the daunting task of choosing from amongst many possible options. …

Decision MakingDecision Making Under Uncertainty

Decision Diagram-Based Branch-and-Bound with Caching for Dominance and Suboptimality Detection

2022-11-22 · Vianney Coppé, Xavier Gillard, Pierre Schaus

The branch-and-bound algorithm based on decision diagrams introduced by Bergman et al. in 2016 is a framework for solving discrete optimization problems with a dynamic programming formulation. It works by compiling a ser…