You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(20): state what is supported before stating how it is designed (#577)
"mcpp implements ONE mechanism, the island" is a claim about the DESIGN, and it
sat where a reader meets it first, so it was read -- more than once -- as "only
one thing is supported". The paragraph immediately after it says SYCL is reached
through the island, so the document's content already contradicted the
impression its opening left.
The real gap is that the multi-backend capability was never stated at all.
Measured:
--accel "cuda12.9+{sm_89}, vulkan1.2" both cfg(accelerator=…) fire
--accel "cuda12.9+{sm_89} vulkan1.2" only cuda
The comma separates ENTRIES in the set; a space separates MODIFIERS within one
entry. The "two-chunk accel" of the HIP and SYCL rules is not a special
grammar, it is this grammar with one entry naming a model and one naming a
device.
A new section covers writing the source sets for several backends, and with it
a failure the manifest can avoid: the four examples write
`cfg(not(accelerator = "<its own>"))`, which is correct for one backend and
wrong for several -- a CUDA build satisfies `not(accelerator = "vulkan")` too,
so the CPU implementation joins the link beside the CUDA one and the seam's
shared `extern "C"` symbols collide. Measured: `multiple definition of 'impl'`.
Negating the whole set fixes it, and the section also names the shape that
needs no such list: do not select at link time at all, which is what ggml does
and what `ggml-org:llamacpp` is built as.
Also lands round 5's ecosystem review and the plan's F2 pre-measurement, which
were held back until the release tag existed because pushing to main between
the merge and the dispatch moves the commit being released. The measurement
changes F2's plan: round 3's "blocked on a payload matrix" no longer holds, and
CUDA's shape turns out simpler than Vulkan's because it has no generator.
Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
0 commit comments