docs(readme,examples,scripts): make the Quick Start a prompt that has been run - #57
Merged
Merged
Conversation
Collaborator
Author
zhen8838
force-pushed
the
readme-quickstart
branch
from
August 4, 2026 12:17
cbcc022 to
03d9ea5
Compare
Summary: - Add `examples/qwen3_1_7b-tilelang/`: the agent run the README's Quick Start prompt produced, at 612.5 tok/s on one H200 over 2048 new tokens, 41x the same authored HIR through the evaluator. - Ship it the way the other three are shipped -- reference, twin, kernels, entry point -- with the workbench (verify.sh, profilers, diagnostics, dumper, engine test) left out, and its README on the same four sections. - Redact the one machine path: `run.py --ckpt` is required rather than defaulting to the checkpoint directory on the machine that ran it.
Summary: - Replace the twelve-line README: banner, badges and Documentation / Installation / Examples centred, one sentence of what this is, Latest News, then Installation and Quick Start as separate sections. - Make the Quick Start the thirteen-line prompt that produced the example in this branch, unedited, and close it on the measured outcome rather than on prose. - Drop the "not yet ready for use" note, and make every link absolute because this file is also the PyPI landing page.
Summary:
- Let a `-` immediately before the slash precede a match in `no-machine-paths`:
`:-` put one exactly where a path begins, so `${VAR:-<a path>}` was the one shape
the checker could not see, and `--option=<a home directory>` with it.
- Add both forms to the checker's caught list; the URL and mid-token cases still
pass untouched.
zhen8838
force-pushed
the
readme-quickstart
branch
from
August 4, 2026 12:24
03d9ea5 to
e61215e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
README.mdis twelve lines, one of which says the project "is not yet ready foruse", while
tilefoundry0.0.1 has been on PyPI since 2026-08-02 andreadme = "README.md"makes this file the PyPI landing page as well as theGitHub front page.
@modulesnippet: the premise is that you do not write the description or the kernels, so
a snippet advertises the opposite of the product. It has to be a prompt.
The prompt in this README produced the example in this branch, unedited.
What
README.mdrewritten: banner, badges and Documentation / Installation /Examples centred under a rule, one sentence of what this is, Latest News, then
Installation and Quick Start as separate sections, then License. The Quick Start
is thirteen lines of prompt and closes on the measured outcome. Every link is
absolute, because relative paths 404 on PyPI; the banner is a GitHub attachment
rather than a committed file, since it is 5.4 MB and git history cannot be made
to forget it later.
examples/qwen3_1_7b-tilelang/added, 13 files. Shipped the way the other threeare -- reference (
ref_src/), twin (fast/twin.py), kernels(
fast/kernels.py), entry point (run.py) -- with the workbench the work wasdone with left out: no verify.sh driver, three profilers, two diagnostics,
activation dumper or engine test.
fast/test_kernels.pystays because it is thetorch spelling of every kernel and the siblings ship that as
torch_ref.py;fast/arbitrate.pystays because the f64 arbitration has no other copy. ItsREADME carries the same four sections as the others, with the agent's own prose
intact underneath.
scripts/no_machine_paths_lint.py: a-immediately before the slash may nowprecede a match.
:-put one exactly where a path begins, so${VAR:-<a path>}was the one shape the checker could not see -- it passed this example while the
example still carried a checkpoint path that way.
--option=<a home directory>was invisible for the same reason. Both forms added to the caught list in
tests/scripts/test_no_machine_paths_lint.py.the example's attention-scale finding back into all seven; see Risk.
Contract
src/is untouched.no-machine-pathsgets stricter, not looser: two shapes that used to pass arenow reported. The repository is clean under the new pattern, so no existing file
needs an allow marker.
examples/, before or after. Each examplestates its own "verified at v0.0.1, not verified since" at the top; the new one
now does too.
Verification
pytest tests/scripts -q -n 4— 22 passed in 19.57s, exit 0(
test_results/pr57-checker.txt). The 2 new cases are the shapes that leaked.pre-commit run --files README.md scripts/no_machine_paths_lint.py tests/scripts/test_no_machine_paths_lint.py— all hooks Passed, exit 0.
git ls-files | xargs grep -nIE '/data[0-9]*/|/home/[a-z][a-z0-9._-]*/|/Users/[A-Za-z]'— 0 files, the checker's own source aside. Grepped directly rather than
trusting the checker, which is how the leak was found.
lintpass 17s,testpass 5m3s,install-smokepass 4m20s.one H200 over 2048 new tokens against 14.8 tok/s through the evaluator;
tilefoundry checkpassing at context extents 0/1/255/1024 and on all 57 outputsof the whole model in one step; 255/256 teacher-forced positions agreeing with
Hugging Face.
qwen3_1_7bauthored HIR through the Evaluator, both scale orderings, at context0 / 24 / 255 -- same output to every digit reported, against Hugging Face in bf16
and against an f64 arbiter.
Risk
tilelang0.1.12,torch2.9.1+cu128, CUDA 12.8 and one H200 in its §1, and nothing re-runs it, soit will rot silently. That is the same risk the other three already carry.
README.mdnames a measured throughput. If the example stops reproducing it,the front page is wrong and nothing will say so.
the prompt has been demonstrated on exactly one model, from the catalog, on one
machine. It does not yet support the claim "your own model too".
arbitrated on the tilelang twin, where the multiply really is bf16, and does not
transfer to authored HIR. Where it did change something it made it worse:
kimi_linear_48b_a3b, NoPE at context 24, scalingqsits 0.00408 from f64 andscaling the score 0.00462, with Hugging Face itself at 0.00454 -- the original
ordering was the closer of the two, and the change pushed the uniform component
contract from 2.75 to 3.25 roundings and failed
test_mla_nope_matches_hfon 2 of2304 elements. Carrying it into the descriptions needs its own per-model
arbitration.
roundings to spare while Hugging Face itself sits 2.3 roundings from f64. Two
independent errors of that size will reach the bound eventually, with or without
this branch. refactor(models,cli,docs): make the model corpus ask what it ships #56 removes the test; if it survives, the bound wants a look.
Documentationin the header points at the published site. It resolves today(200), but nothing in this repository builds or checks it.