pub fn dequant_turbo3_block_to_bf16(
raw: &[u8],
bs: usize,
nkv: usize,
hd: usize,
out: &mut [bf16],
)Expand description
2026-09-25: A Turbo3 block to BF16.
Layout per block:
data: bs * nkv * (hd * 3 / 8) bytes, 8 values in 3 bytes.
scales: bs * nkv * (hd / NVFP4_GROUP_SIZE) bytes.
Unpacking of v0..v7 from b0, b1, b2, as in nvfp4_dequant of
kernels/gb10/common/paged_decode_attn_turbo3.cu:
v0 = b0 & 0x7
v1 = (b0 >> 3) & 0x7
v2 = ((b0 >> 6) | (b1 << 2)) & 0x7
v3 = (b1 >> 1) & 0x7
v4 = (b1 >> 4) & 0x7
v5 = ((b1 >> 7) | (b2 << 1)) & 0x7
v6 = (b2 >> 2) & 0x7
v7 = (b2 >> 5) & 0x7