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
feat: carry the accelerator dimension from descriptor to refusal
The comparison added earlier had no reader: nothing populated the field, so it
was empty everywhere and accepted everything. This connects both ends.
An artifact declares what device code it carries in a separate descriptor
field, in one wire form that is also the diagnostic form, so what a publisher
writes is what a refusal prints back. A build declares what it targets through
[build] accel, overridden for one build by --accel, which is the relationship
--target already has with [toolchain]. --no-accel is not the absence of
--accel: it is an explicit request for none, which is what a user needs in
order to take the CPU-only variant of a package that also publishes device
builds.
A build that asks for no accelerator is satisfied by every artifact
vacuously. That is correct rather than permissive, and it is why a descriptor
lists its CPU-only variant first: the first accepted artifact wins, so an older
mcpp that does not know this field at all still selects the variant that runs
anywhere.
0 commit comments