diff --git a/src/h3_blackwell_runtime/csrc/nvfp4_scale.cu b/src/h3_blackwell_runtime/csrc/nvfp4_scale.cu index 2ba3288..b06d508 100644 --- a/src/h3_blackwell_runtime/csrc/nvfp4_scale.cu +++ b/src/h3_blackwell_runtime/csrc/nvfp4_scale.cu @@ -120,7 +120,8 @@ __global__ void quantize_nvfp4_bf16_kernel( block_scale_value = decode_fp8_e4m3(scale_byte); } if (row < scale_rows) { - block_scale[row * scale_cols + block_col] = scale_byte; + const int64_t tile_row = (row / 128) * 128 + (row % 32) * 4 + ((row % 128) / 32); + block_scale[tile_row * scale_cols + block_col] = scale_byte; } if (row < q_rows && block_col * 8 < q_cols) { #pragma unroll