Skip to content

native: each forwarded lane-backend entry calls the family's entry of the same name - #800

Merged
ashhart merged 1 commit into
ashhart:mainfrom
Bizuayeu:pr/cuda-bound-calls
Oct 14, 2026
Merged

ashhart merged 1 commit into
ashhart:mainfrom
Bizuayeu:pr/cuda-bound-calls

Conversation

@Bizuayeu

Copy link
Copy Markdown
Contributor

What this changes

A test, as suggested on #742: the field-walking test checks that each forwarded entry is present exactly when the
family gives it, so a forwarder aimed at another inner entry of the same type (unspeculate at prefill, say) would
still pass. This one hands cuda_bound.vtable a backend that records which of its entries ran, calls every
forwarded entry once, and checks the name and that it ran once. No change outside the test.

Receipt

  • Environment: TensorFold 1.0.9 (c36b536d) plus this test; one GB10 (DGX Spark, sm_121, CUDA 13.3).
  • Exactness, decode and prompt speed: not applicable (a test).
  • Tests run: zig build test-cuda-host 430 passed, 0 failed; zig build test 579 passed, 5 skipped, 0 failed;
    zig fmt --check clean; lean_check 538, as main. With unspeculate's forwarder pointed at the inner prefill,
    the new test fails (expected unspeculate, the spy saw prefill) and the field-walking one still passes (24 of
    the 25 cuda_bound tests).
  • Not run, and why: Metal (the CUDA host's lane backend only).

Checklist

  • Every token still goes through the lane rounds. No serial path, and nothing that needs drafts off.
  • Drafted output equals "draft": false, a resumed prompt equals a fresh one, and concurrent equals solo.
  • No precision traded for speed. If the bits change, the description says which sums change and why.
  • Prompt processing is no slower than the last release.
  • The description says which platforms I ran, Metal M1 to M5 and CUDA, and which I could not.
  • New tests fail before the change, pass after it, and skip cleanly without their dependency.
  • Comments and docstrings are one line. No measurements or history in the source.
  • No personal data, machine names, internal hosts or local paths. No AI attribution lines.

… the same name

The test that walks cuda_bound.vtable's fields checks that an entry is present exactly when the family gives it; a
forwarder aimed at another inner entry of the same type (unspeculate at prefill, say) would still pass. This one
gives the forwarders a backend that records which of its entries ran, calls each forwarded entry once, and checks
the name and the count. No change outside the test.
@ashhart
ashhart merged commit 55d002a into ashhart:main Oct 14, 2026
2 checks passed
ThinkOffApp pushed a commit to ThinkOffApp/TensorFold that referenced this pull request Oct 14, 2026
@ashhart

ashhart commented Oct 14, 2026

Copy link
Copy Markdown
Owner

Thank you, @Bizuayeu. A host test checks that the native CUDA host forwards each lane-backend entry to the family's entry of the same name, once, so a forwarder can no longer call a neighbour's entry unnoticed.

Your commit is in 1.0.10 under your name (8445c3e89). The patch matches your head. The CHANGELOG line is 0348e5fef. Your head 666746b9c is merged at 55d002ae5 with no change to the tree.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants