DEBUG: test copy_ with contiguous slice vs scalar assign for gsa

This commit is contained in:
2026-06-04 01:27:25 +00:00
parent ccbc713658
commit 5303d6a82f

View File

@@ -377,12 +377,13 @@ class Nvfp4SharedExpert:
# DEBUG: check gsa values before assignment
try:
gsa_first = gsa_l2_gpu[0].item() # DEBUG: read value
print(f" SE L2 gsa[0]={gsa_first:.6f} shape={tuple(gsa_l2_gpu.shape)} buf_shape={tuple(self._l2_gsa_buf.shape)}", flush=True)
print(f" SE L2 gsa[0]={gsa_first:.6f} shape={tuple(gsa_l2_gpu.shape)} dev={gsa_l2_gpu.device} buf_dev={self._l2_gsa_buf.device} buf_shape={tuple(self._l2_gsa_buf.shape)}", flush=True)
# Try copy_ instead of scalar assign
self._l2_gsa_buf.copy_(gsa_l2_gpu[:1].contiguous())
print(f" SE L2 gsa copy_ succeeded", flush=True)
except RuntimeError as e:
print(f" SE L2: gsa[0].item() FAILED: {e}", flush=True)
print(f" SE L2: gsa assignment FAILED: {e}", flush=True)
raise
# Copy first element of gsa to pre-allocated buffer.
self._l2_gsa_buf[0] = gsa_l2_gpu[0] # scalar GPU → GPU, no sync, graph-capturable
else:
x_fp4, x_sf = quantize_activation_nvfp4(
intermediate, self._l2_activation_global_scale