bfb80000be
The kv_b shard scale pointer used h0*(Q+V) which is correct for per-row scales (fmt=2: one scale per row). For fmt=4 (grouped), there are ng scales per row, so the offset must be h0*(Q+V)*ng. Without this, the shard reads from the wrong scale position on multi-GPU, producing silent corruption. Single-GPU is unaffected (no sharding). Fix: const float *scale=l->kv_b.s+(int64_t)h0*(Q+V)*(gs>0?ng:1); Refs #298