Expand description
2026-09-29: The kernel Venn diagram of a target model against the models we already support
(met circuit venn): every target node, in every mode and row count asked for, classified
against the kernel families the compared models run, ranked by estimated share of step time.
Classes, decided per node from the family manifest (families):
- Shared: a family the compared models run, at the same compile-time and policy point, with a microbench record at that point and row count.
- Shared, unmeasured: the same, without the record. Also a point the family already realises by an instantiation or a runtime branch while the compared models run another (the differing parameters are still listed).
- Parameterization opportunity: the same family where declared parameters differ and one of them is compile-time; the target point is missing or exists only as a file copy.
- Policy variant: the same, where every differing parameter is a policy.
- Novel: no family implements the op with the node’s formats at that row count.
Owner: metrale-circuit (venn). Invariants:
- Pure: no I/O. The caller passes the circuits, plans, manifest and measurements.
- Deterministic: ties break by family order in the manifest, then by circuit order.
- A compared node whose plan kernel belongs to no family, and a parameter a node cannot supply, are typed errors: the report is never built from a guess.
Re-exports§
pub use families::Families;pub use families::FamilyError;pub use families::ParamKind;pub use families::parse_families;pub use measurements::Measurements;pub use measurements::parse_measurements;pub use repo::Repo;pub use repo::checkpoint_id_of;pub use repo::report_text;pub use repo::resolve;pub use report::VennInputs;pub use report::VennReport;pub use report::build;
Modules§
- checkpoint
- 2026-09-29: Check a target instance against the checkpoint it names: the layer kinds its
config.jsonlists, and the precision every bound module declares (ModelOpthf_quant_config.jsonorconfig.jsonquantization_config), resolved through the engine’s own policy at thedeclaredtier with every W8A8 kernel capability present, so the answer is the declared weight and activation formats. - classify
- 2026-09-29: Classify one target node against the kernel families (see
superfor the classes): which families can run it, its point in each, the nearest point a compared model runs (or, failing that, the nearest instantiated point), and the evidence at its point. - compute
- 2026-10-02: The compute unit a kernel runs on: tensor cores (with the MMA atom and the
operand format it issues), CUDA cores, or memory (data movement, element-wise work and
reductions). Declared per family in
KERNEL_FAMILIES.toml(compute,mma), per point where a family’s points differ, and per kernel where one family’s kernels differ; read by the tensor-core policy (hardware::tc_policy) and shown on every planned group. - discover
- 2026-09-29: Rediscover each family’s instantiated points from the kernel sources and report where the manifest and the sources disagree (drift).
- families
- 2026-09-29: The kernel-family manifest,
kernels/<hw>/common/KERNEL_FAMILIES.toml: which circuit ops each family implements, the parameters it varies (runtime, compile-time or policy), the points it instantiates, the evidence envelope (the points with microbench records) and the rules that rediscover the instantiated points from the kernel sources. - measurements
- 2026-09-29: The rows of
docs/kernel-perf/measurements.tomlan evidence record can cite, keyed<kernel> @ <regime>. The numbers stay in that file (its schema and checks are KERNEL-PERF.md’s); the manifest only maps a row to a family’s parameter point. - repo
- 2026-09-29: A whole
met circuit vennrun over a repository reached throughRepo: resolve the target and compared instances, load their circuits, check the family manifest against the kernel sources, build and render the report. The CLI supplies a file-systemRepo; the tests supply the same one over the checked-out tree, so both run this code. - report
- 2026-09-29: Build a whole Venn report: fuse the compared models at every requested mode and row count, classify and estimate every target node, group the nodes into sites (one template node across its layers), rank them by estimated step share, and flag the layer kinds that cannot batch rows.
- roofline
- 2026-09-29: The roofline estimate of one node’s time in one step, from its edge shapes and
formats:
max(bytes / DRAM bandwidth, FLOPs / tensor peak). It ranks a Venn report’s rows until measured profiles replace it.
Structs§
- Diff
- 2026-09-29: A parameter whose value differs from the compared point.
- Finding
- 2026-09-29: A node’s classification against one family.
- Run
- 2026-09-29: One mode and row count.
- Subject
- 2026-09-29: One model on either side of the diagram, at one mode and row count.
- Venn
Args - 2026-09-29: What the CLI was asked for.
Enums§
- Class
- 2026-09-29: A node’s class.
- Compared
- 2026-09-29: What a target node was compared with.
- Venn
Error - 2026-09-29: Why a Venn table could not be built.
Functions§
- render
- 2026-09-29: Render
ras Markdown.