flashinfer.fp4_quantization.nvfp4_quantize¶
- flashinfer.fp4_quantization.nvfp4_quantize(a, a_global_sf, sfLayout=SfLayout.layout_128x4, do_shuffle=False, sf_vec_size=16, enable_pdl=None)¶
将输入张量量化为 NVFP4 格式。
- 参数:
a (torch.Tensor) – 输入张量,形状为 [M, K],数据类型为 fp16/bf16。
a_global_sf (torch.Tensor) – 全局缩放因子,形状为 [1],数据类型为 float32。
sfLayout (SfLayout, 可选) – 缩放因子布局。默认为 SfLayout.layout_128x4。
do_shuffle (bool, 可选) – 是否打乱缩放因子。默认为 False。只有 TRTLLM 后端才需要打乱张量 B 的缩放因子。
sf_vec_size (int, 可选) – 缩放因子向量大小。默认为 16。
enable_pdl (Optional[bool], 可选) – 是否启用 PDL(程序化依赖启动)。如果为 None,则根据设备能力自动检测。默认为 None。
- 返回值:
- 包含一个元组
量化后的张量,形状为 [M, K/2],数据类型为 FLOAT4_E2M1X2
缩放因子张量,其形状由布局和 sf_vec_size 决定
- 返回值类型:
Tuple[torch.Tensor, torch.Tensor]