From 5303d6a82f5114cee1ec62e50df66a7f96875676 Mon Sep 17 00:00:00 2001 From: biondizzle Date: Thu, 4 Jun 2026 01:27:25 +0000 Subject: [PATCH] DEBUG: test copy_ with contiguous slice vs scalar assign for gsa --- dsv4/layers/shared_expert.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dsv4/layers/shared_expert.py b/dsv4/layers/shared_expert.py index 800889e4..15267541 100644 --- a/dsv4/layers/shared_expert.py +++ b/dsv4/layers/shared_expert.py @@ -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