Skip to content

docs(mmq): the test cases' comments, against #29953's head - #457

Merged
glennneuber merged 1 commit into
mainfrom
docs/mmq-tests-comments
Oct 5, 2026
Merged

glennneuber merged 1 commit into
mainfrom
docs/mmq-tests-comments

Conversation

@glennneuber

@glennneuber glennneuber commented Oct 5, 2026 •

Copy link
Copy Markdown

Summary

Comment-only fix to docs/maxusai/tasks/mmq-tests.patch, the test-backend-ops cases behind the llama.cpp#29953 work. The cases are unchanged. Three comments were wrong, and the rest described the rules from before #29953.

  • dense321 said master's get_J_max(321) = 80. It is 128: the launch picks J = 80 only because J = 96..128 need more than sm_75's 64 KiB of shared memory, a filter get_J_max() does not apply. That is why master passed this case and the published #29953, padding exactly 80 blocks, faulted. Computed on the CPU from dd266785c's config tables.
  • ids16/ids64 said every rule gives src1 enough room, so only ids_dst can be read past. ids16 is the case where src1 is short, 21 blocks needed against 16 given, and get_J_max(ne11) = get_J_max(ne12) = J does not hold for ids64 (64, 96 and J = 112).
  • The MUL_MAT_ID header said the padding must cover the widest tile the launch can pick: the fork's compat 903 rule, not what #29953's head does.

Every comment now describes its case against #29953's head (3070d927f), names dd266785c where it means master's old get_J_max(), and says the cases fault only with an allocation that ends at its data.

Test plan

  • Comment-only: tests/test-backend-ops.cpp with the old and with the new patch applied, comments stripped (cpp -fpreprocessed), is byte-identical (496,625 bytes), and the same comparison catches a one-character change to a test case.
  • The patch applies cleanly to dd266785c and to 3070d927f, and the harness marker get_J_max(113) = 64 is still found after applying it.
  • No changed comment line over 120 columns; check_source_paths.py; name scan.

🤖 Generated with Claude Code


From ai-server/mlx-cuda via /collab · 2026-10-05 · build llama.cpp dd266785c / 3070d927f · signed ai-server

Comment-only change to tasks/mmq-tests.patch: the cases are unchanged, which a
comment-stripped comparison of tests/test-backend-ops.cpp before and after
shows (identical, 496,625 bytes; a one-character code change is caught).

Three comments were wrong:
- dense321: dd266785c's get_J_max(321) is 128, not 80. The launch picks J = 80
  only because J = 96..128 exceed sm_75's 64 KiB of shared memory, a filter
  get_J_max() does not apply -- which is why master passed this case and the
  published #29953, padding exactly 80 blocks, faulted.
- ids16/ids64 said every rule gives src1 enough room, so only ids_dst can be
  read past. ids16 is where src1 is short (21 blocks needed, 16 given), and
  get_J_max(ne11) = get_J_max(ne12) = J does not hold for ids64 (64, 96, 112).
- The MUL_MAT_ID header said the padding must cover the widest tile the launch
  can pick: the fork's 903 rule, not what #29953's head does.

The rest now describes each case against the head, names dd266785c where it
means master's old get_J_max(), and says the cases fault only with an
allocation that ends at its data. The harness marker 'get_J_max(113) = 64' is
kept, and the patch still applies to dd266785c and to 3070d927f.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@glennneuber
glennneuber merged commit 40e322b into main Oct 5, 2026
5 of 6 checks passed
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.

1 participant