The grouped GEMM expects each group's tokens at their own offset range: - Group 0: rows [0, padded_T) - Group 1: rows [padded_T, 2*padded_T) - etc. Previously we wrote all groups' data contiguously starting at row 0, so group 1+ would read zeros from the padding area. Now we scatter each group's quantized activation at the correct offset. Also: - Size buffer for total_max_rows = padded_max * n_groups - Use assemble_scales_2d_side for multi-group scale assembly - Extract output per-group at correct offsets
12 KiB
12 KiB