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
{{ message }}
Repository navigation
Commit 4069bfa
Browse filesBrowse the repository at this point in the historyBrowse files
fix(attention): repair the FROST plan-cache key arity and harden the version gate
The device element added to _key() in 63294e8 made the key 12 items while
_build_fwd and _build_bwd still unpacked 11, so the first FROST call of any kind
raised ValueError: too many values to unpack. Every path was affected, forward
and backward, CP and non-CP. Nothing caught it because the only test that reaches
_key is gated on SM100/SM103. The unpack is now starred, so further device
components cannot reintroduce the same break.
The key also lacked device.type, letting a CPU tensor alias cuda:0, and called
torch.cuda.current_device() unguarded for a normalisation that a materialized CUDA
tensor never needs -- which would raise a confusing CUDA-init error on a CPU-only
host. It now keys on (type, index) directly, following _score_mod_device_key in
flex_attention.py.
Version handling moves to packaging.Version over distribution metadata, matching
_cudnn_frontend_version_supported in fused_mla_q_uproj.py. The hand-rolled parser
accepted 1.29.0rc1 as 1.29.0, and by replacing the old int() parse it had quietly
relaxed the cutlass floor to admit 4.7.0rc1 as well; both are rejected again. An
undeterminable version no longer reports as "0" and hard-declines a valid source
install -- it defers to _select_frost_plan, which checks the plan by name. That
error message now looks both versions up defensively, since it previously could
raise PackageNotFoundError while formatting the very diagnostic explaining a
failure.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Nitin Vegesna <nvegesna@nvidia.com>
0 commit comments