fix: resolve audited dispatch, kernel, and rollout bugs
- re-register the linear family with the operator dispatcher (ASTR_OPS / op_backend / resolve) - fix bf16 gemv misaligned-address faults and element mispairing for offset weights - reject misaligned bf16_swiglu inputs with a clear error and fall back in the backend gate - make the rollout reuse decision, validation, and return atomic under one policy snapshot - add the documented post-scoring rollout version check - derive live+1 under the scheduler lock in optimizer_step via apply_weight_update(None, ...) - reject rollout_max_policy_lag below rollout_interval - 1 at config time - sync gemv stream-test inputs before switching streams; drop dead loader imports
This commit is contained in:
@@ -40,6 +40,11 @@ def _swiglu_capable(x: Tensor, up_weight: Tensor, gate_weight: Tensor) -> bool:
|
||||
or not x.is_contiguous()
|
||||
or not up_weight.is_contiguous()
|
||||
or not gate_weight.is_contiguous()
|
||||
# The fused kernel reads all streams as uint4; contiguous-but-offset
|
||||
# views are routed to the unfused chain instead of failing.
|
||||
or (x.data_ptr() & 15) != 0
|
||||
or (up_weight.data_ptr() & 15) != 0
|
||||
or (gate_weight.data_ptr() & 15) != 0
|
||||
or not is_available("bf16_swiglu")
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user