Introduction
Morello is a synthesis-based compiler of neural network forward passes, primarily for CPUs. It provides programmers with a Halide-like language for manual optimization, but it can also automatically synthesize implementations which minimize a cost model (typically: maximizing throughput).
This book introduces the key ideas behind Morello by walking through manual optimization of matrix multiplication, then by synthesizing matrix multiplications automatically.
Status
Morello is under active development. The language and compiler internals are regularly changing, and we do not yet ship versioned releases.
If you’re interested in a stable library, you should target a particular version from
the main branch. If using Morello as a library, specify the dependency in Cargo.toml
such that it fixes a SHA1 hash:
morello = { git = "https://github.com/samkaufman/morello.git", rev = "..." }