| schema | tiler-doc/v1 | |
|---|---|---|
| id | tiler.portal.root | |
| kind | portal | |
| title | Tiler | |
| topics |
|
Tiler is an experimental, consumer-neutral ahead-of-time tensor-program compiler and execution toolkit. It accepts typed logical programs with explicit inputs and ordered named outputs, performs target-independent logical optimization and target-aware physical planning, lowers selected plans to structured kernels and artifacts, and generically binds and executes them. It applies ideas from database optimizers and compiler systems—typed logical plans, equivalence rules, physical properties, bounded search, cost models, and explainability—to tensor computation.
The repository is currently design- and research-first. It contains accepted architecture decisions, proposed and accepted contract material, primary-source research, and an executable bounded compiler-to-Metal prototype. It does not yet contain a production or workload-general compiler implementation.
Tiler compiles tensor programs; it does not own a model, transformer, training or inference loop, KV cache, sampler, server, or application session. A consumer may use those workloads as conformance tests and may retain an output tensor as a later invocation's input, but that composition remains outside the compiler's semantic and runtime state.
- Understand the project: start with the documentation portal and its short architecture route.
- Check current state: read project status, then use the live ticketsplease commands linked there.
- Inspect evidence: use the research catalog and experiment catalog.
- Continue the work: read AGENTS.md and the work-tracking guide before editing.
Bootstrap a macOS development host with ./deps.sh. Use ./deps.sh --check for
a non-mutating dependency diagnosis.
Verify with make check (format, Clippy, tests) while working, and make full
before pushing to main. Every target is a single command you can also type
directly; rust-toolchain.toml selects the compiler, so plain cargo is
already the pinned one.
Neither target builds or runs a spike — run one from its own directory when you are working on it. One half of each target does reach spikes/ and is worth knowing about: make citations, which check and full both include, resolves the markdown links in every record under spikes/, so a link naming a path that no longer exists fails the gate. It deliberately declines those records' pinned line citations, which are pinned to the base each record names rather than to the tip. (Corrected 2026-08-22. This read "Spikes are not covered by either target", which was true until spike markdown links entered the citations gate and false afterwards; the retired wording is kept here so a search for it lands on the correction.)
Accepted ADRs govern durable architectural choices. A mixed contract treats
unmarked field-level detail as proposed unless an accepted ADR is cited; every
document states implementation maturity. A measured spike is evidence, not
production support.