Repository navigation
host tests: six named steps that fail on main pass again, each fixture brought up to the change that moved it - #2024
Conversation
|
Thanks @jishnuvenugopal, this is a clean, careful fix. I checked it on current main: all five commits still apply |
… shape, so its facts read no unset engine
…its inventory test reads no undefined fields
…t reserves, so the injected failure fires
…ce the step takes the cap hint as unused
…s size counts its pending rows, so three steps build again
6f3c2c8 to
3ad6592
Compare
|
Thank you @jishnuvenugopal. This is merged into main with your commits under your own name, so you're listed as a TensorFold contributor. It ships in the next release, credited to you in the changelog and the release notes. |
|
Thanks @jishnuvenugopal! This is in TensorFold 1.2.3, out now: https://github.com/ashhart/TensorFold/releases/tag/v1.2.3 |
Thank you, @ashhart, for the named host steps and the recording devices behind them (
mtl.Record, the fake CUDA drivers): theycheck drafted trees, residency after a failed allocation and chunk grids with no GPU at all, which is what made each of these breaks
easy to pin to one commit. And thank you for the #1327 review that settled GLM's chunk grid; one of these tests just had not caught up.
What this changes
Six host steps fail on
mainbecause a later change moved code under a test fixture that was not updated with it. Each commitupdates one fixture to the change that moved it, in tests only, except one line:
qwen3_5/cuda.zignow exportscuda_cache.zigas
cache, besideengineanddraft, so the shared-stream test can countpendBytesinstead of copying its formula.mainit followscopyMatch(d.e.g))Draftfixtures never setd.e, an unset pointerkv_arena,kv_tables,kv_pages,kv_pipeson the backendMetal = undefinedleft them undefinedBadChunkKeepsfixturesKeeps.apply_pend, andstreamBytesaddspendBytesKeepsliterals and one stream-size sumThe two
Draftfixtures get a small target shape (hidden 256, one layer), socopyMatchreturns 0, the target's own copymatch, as before 3e88d9b. The GLM test keeps its opt-in setup and its check that the 512-row cap reaches the driver, then asserts
the property your review settled: every chunk start stays on the 2048 grid.
main.mainat 6a50486.atc overlap --json: not run (ATC is not installed on this machine). The same check by hand: the open pull requests that touchthese files are cuda: tune dense 27B MLP tiles on RTX PRO 4500 #1730 (
qwen35_draft_frame_host.zig) and qwen3_5 cuda: a kept path longer than pend_cap lands at once instead of overrunning the pending buffer #1982 (qwen3_5/cuda.zig);git merge-treewith each is clean.cuda: tune dense 27B MLP tiles on RTX PRO 4500 #1730 also fixes
qwen35_live_host.zig's "served scratch" fixture, the same 3e88d9b break, so this branch leaves that one to it.Verified outcome
main: three crash or fail,and three no longer compile, so the checks they were written to make have not run since late October.
mainhas 6 crashed or failed tests and 3 builds that stop, and the repairedtests again catch a planted break of what they check.
Checks on this head
Head commit: 6f3c2c8.
Lean checker on the base (6a50486) and on this head: 424 and 424, 0 new.
Tests run, uncached (
--cache-diron an empty directory), M1 Pro, macOS 26.6:main6a50486test-qwen35-draft-trees-hosttest-qwen35-draft-frame-hostmissing struct field: apply_pendx3test-qwen35-rounds-hostapply_pendx1test-qwen35-shared-hostapply_pendx2test-metal-residency-owners-hosttest-glm-scheduling-hosttest-qwen35-frame-invalidation-host(shares an edited file)Each break pinned to one commit: on its parent the step passes, on the commit it fails (
3e88d9b40^4/4 and 14/14,3e88d9b403 and 1 crash;
d64310496^65/65,d643104961 crash;git bisect runfrom d643104 tomainfinds ede6249 for the Qwen27test). The GLM test already fails at 7bf9711, where it landed, so it is not bisectable.
Planted breaks, each run against the repaired step: Qwen27's replacement keeping the old buffer in the residency set (caught);
GLM's step honoring the hint (caught:
BadChunk);residency.openCachewithouterrdefer cache.deinit(caught);streamByteswithout
pendBytes(caught). Not caught: Nemotron'sresidency.applywithout&b.scratch; that gap was already there and thisbranch does not change it.
zig build test --test-timeout 10m, uncached, onmainand on this branch: 8336 of 8375 tests pass, 39 skip, 0 fail on both; thesame 55 steps fail on both, each a Metal library build that needs Xcode on this Mac.
CI's other steps, on
mainand here:test-golden375 equal, 0 differ, 11 known on both;test-kernel-contract138/138,fuzz-cortheon19/19 andtest-server-security19/19 on both;test-pull-securitystops on both at the same 44 Metal librarybuilds. Plain
zig build: the same 64 steps fail on both, all Metal library builds.Sweep of all 393
test-*steps onmain, onezig buildeach: 361 pass, 23 need Xcode's Metal compiler or-Dxgrammar, and 9fail in code: the six above,
test-qwen35-live-host(cuda: tune dense 27B MLP tiles on RTX PRO 4500 #1730), andtest-gradient-servingandtest-qwen-serving-host, whosereviewed-source hashes no longer match (
ck_experts.cu,gdn.cu). Those two are review pins, so this branch leaves them to you.The same sweep on this branch differs from
mainin exactly the six steps above; the other 387 keep their result.zig fmt --check build.zig zigandgit diff --check origin/main: clean.CI: runs
test,test-golden,test-kernel-contract,test-server-security,test-pull-securityandfuzz-cortheon, none ofwhich builds these steps, so CI cannot show this change either way.
Not run: CUDA devices, and Linux or Windows hosts.
Receipt
n/a: tests and one module export, nothing that reaches inference.
main6a50486, Zig 0.17.0, Apple M1 Pro, macOS 26.6 (Command Line Tools, no Xcode). No checkpoint.zig/build/cuda_family_host.zig, the residency and GLM scheduling steps). No kernel.Checklist
fails or does not build on
mainand passes here; the planted breaks above show they test their behavior again.)