Aspirational draft — pre-1.0, not yet shipped

Your model, your machine, measured against physics — then optimized to it.

One command audits any open model on your own hardware, shows you — in milliseconds, itemized — what your silicon can still do, and builds a serving setup that does it.

adopted op candidates measured · paired gated plan

×refused — broke its equivalence class evaluated — passed the gate, ranked lower adopted, becomes the plan

$ curl -sSfL floorplan.sh/install | sh
$ floorplan serve <any HF model>
 probe → ingest → floors → search → emit
 writes plan.json + receipt.json

Planned pipeline, not yet implemented — see the roadmap in the design doc.

The problem

General-purpose inference stacks must run every model on every machine, so they cannot pre-tune yours. The cost of that generality is real, but nothing in the stack reports it. floorplan's working thesis: at the grid of (every open model) × (every consumer GPU, Apple-silicon Mac, AMD card, and NPU), no vendor or framework can pre-tune every cell — so the general stacks are structurally obliged to leave specificity's margin behind.

The evidence

Measured, on one card, during the 2026 optimization campaign.

This is the campaign the project's floors and search are built from — not a projection.

ComparisonMeasuredMargin
PyTorch eager vs. hand-tuned (same model/card)5.62 vs 1.60 ms3.5×
torch.compile vs. +3 context-specific tricks1.72 vs 1.60 ms8%
local batch-1 decode vs. its own roofline20–50× over floor
vendor GEMM vs. shape-specialized kernel (narrow)0.286 vs 0.200 ms30%

Guards exist because gaps run in both directions. During the same campaign a lazy dequantization tactic regressed decode from 109 to 23 tok/s before the memory-ceiling guard caught it — a receipt would record a refusal like this the same way it records a win.

The audit

Itemized, not aggregated.

Every phase gets its own physical floor — roofline arithmetic derived from a machine's measured GEMM peak and memory bandwidth. These are the actual golden-fixture numbers this project's tests pin down, for a GPT-2-class attention block:

GPT-2-class floors, per site

SiteFloor (ms)
qkv projection0.159
attention output0.053
mlp up-projection0.213
mlp down-projection0.213

The catalog searches implementation choices against floors like these — planned kernel families include tiled GEMM, dequant-fused GEMM, flash attention, and a chunked linear-attention scan.

The proof

Anatomy of a receipt.

Every optimization is meant to ship with its proof: the machine fingerprint, the model hash, per-phase measurements before and after, each applied tactic with its equivalence class and paired timing delta, the computed physical limits, the final percent-of-limit — and the one-line command that reproduces all of it.

One physical limit already measured, from the same campaign:

Qwen3.6-27B-Q4 · M2 Max 38-core

FieldValue
Prefill, achieved184 tok/s
Decode, achieved20.4 tok/s
Decode ceiling (physical limit)21.7 tok/s
% of physical limit94%

Correctness is enforced by declared equivalence classes, not promised. Any change that leaves its class is refused automatically:

ClassExample tacticsBound
Exactfolding, prune/KV, fusion, graphs, pre-transposebitwise
ε-numericflash attention, fp16/bf16/TF32 casts~10⁻³ logits
Distributionquantization, speculative/MTP decodeidentical or task-metric

How it works

Optimization the way databases treat queries.

01

The model

The algebra — what must be computed, not how.

02

Implementations

Physical operators — the search space of kernels and layouts.

03

Your machine

Measured limits become the cost model, probed once.

04

Search

Run once, cached forever; picks the plan, refuses what breaks equivalence.

Correctness is enforced, not promised: every transformation carries an equivalence class, from bitwise-exact through statistically-bounded, and any change that leaves its class is refused automatically.

Where floorplan won't help

Nothing to harvest is a result, not a failure.

A tool that tells you when not to use it is a tool you end up trusting. Stated non-goal, from the design doc: H100 + vLLM + flagship dense models at high batch — a cell with a hundred engineer-years already in it, near its own floor. The auditor is meant to detect near-floor cells and say so, with the receipt attached, rather than search for margin that isn't there.

The stated beachhead is the opposite end: batch-1/small-batch local decode on consumer NVIDIA, Apple silicon, and AMD — where the roofline gap is widest and nobody searches per-machine. The named launch proof-point in the design doc is a measured 1.3–2× over the stock local-inference baseline, on a named 3080 Ti and a named M2 — still to be produced.

FAQ

Selected questions

How is this different from the fast stack I already use?

It may not be — and floorplan will tell you so, with a receipt. General stacks are excellent at the configurations they optimize for. floorplan's job is the configuration they can't pre-tune: your model on your machine. The audit is free and takes minutes; run it before deciding anything.

Will the optimized model give the same answers?

Every tactic is gated. Exact-tier changes are verified bitwise-equivalent. Reduced-precision and quantization tactics are admitted only within declared statistical budgets, verified against reference outputs on your machine, and listed — with their measured deviations — on the receipt. Any tactic that fails its gate is refused, automatically.

What if my hardware is already at its limit?

Then the audit says so and the receipt proves it. "Nothing to harvest" is meant to be treated as a first-class outcome, not a failure — see the published non-goal above.

My model architecture came out last month. Supported?

New architectures are floorplan's best case, not its worst: young kernels are where the largest measured gaps live. Ingestion reads standard formats directly; if your model loads, it audits.

Does floorplan send my data anywhere?

No. Probing and optimization are designed to run locally. A planned community plan gallery would be opt-in and share only plans and receipts — never weights, prompts, or outputs.

What does a "receipt" actually contain?

The machine fingerprint, the model hash, per-phase measurements before and after, each applied tactic with its equivalence class and paired timing delta, the computed physical limits, the final percent-of-limit — and the one-line command that reproduces all of it.