pypto.quant_mx【免费下载链接】pyptoPyPTO发音: pai p-t-oParallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√功能说明将 1-4 维 ND 格式的高精度浮点 Tensor 量化为 MXMicroscaling格式返回量化结果和共享指数 scale。输入 Tensor 支持 DT_FP16、DT_BF16、DT_FP32。输出量化 Tensor 当前仅支持 DT_FP8E4M3。scale Tensor 的数据类型固定为 DT_FP8E8M0。当前仅支持对尾轴进行量化且仅支持 ROUND_DOWN 模式。若输入 shape 记为 $[d_0, d_1, ..., d_{n-1}]$则量化结果quantized的 shape 与input相同。scale 的 shape 为 $[d_0, d_1, ..., d_{n-2}, \lceil d_{n-1} / 64 \rceil, 2]$。函数原型quant_mx( input: Tensor, quant_dtype: DataType DataType.DT_FP8E4M3, mode: DequantScaleRoundingMode DequantScaleRoundingMode.ROUND_DOWN, axis: int -1, performance_mode: bool False, ) - Tuple[Tensor, Tensor]参数说明参数名输入/输出说明input输入源操作数。支持的类型为Tensor。Tensor 支持的数据类型为DT_FP16、DT_BF16、DT_FP32。仅支持 TILEOP_ND 格式Shape 仅支持 1-4 维。当前仅支持最后一维参与量化且最后一维按字节数需满足 256 字节对齐。对于 DT_FP32通常要求最后一维长度是 64 的倍数对于 DT_FP16/DT_BF16通常要求最后一维长度是 128 的倍数。quant_dtype输入量化后输出 Tensor 的数据类型。当前仅支持DT_FP8E4M3。mode输入量化时共享指数的舍入模式。当前仅支持ROUND_DOWN。axis输入指定量化轴。当前仅支持最后一维即-1或input.shape.size() - 1。performance_mode输入是否启用性能模式。默认值为True。启用后可获得更好的性能但仅改变内部 TQuant 的中间布局不改变返回的公共scaleshape。启用该模式时不支持尾块场景即运行时实际 shape 需要整除 view shape。除此之外view shape 与 TileShape 的尾轴长度必须相同且该尾轴长度需要与输入最后一维保持一致。当前只支持性能模式返回值说明返回一个二元组(quantized, scale)quantized量化后的 Tensor数据类型由quant_dtype指定Shape 与input相同。scale共享指数 Tensor数据类型固定为 DT_FP8E8M0Shape 为[*input.shape[:-1], ceil(input.shape[-1] / 64), 2]。调用示例TileShape 设置示例说明调用该 operation 接口前应通过set_vec_tile_shapes设置 TileShape。TileShape 维度应和输入一致且最后一维需要满足 256 字节对齐。若performance_modeTrue则不支持尾块场景运行时实际 shape 需要整除 view shape同时 view shape 与 TileShape 的尾轴形状必须相同且 TileShape 的最后一维应与输入最后一维相同。示例 1输入inputshape 为[m, n]输出quantizedshape 为[m, n]scaleshape 为[m, ceil(n / 64), 2]TileShape 可设置为[m1, n1]其中n1需满足对齐约束。pypto.set_vec_tile_shapes(4, 64)接口调用示例x pypto.tensor([8, 64], pypto.DT_FP32) # 默认配置DT_FP8E4M3 ROUND_DOWN 最后一维量化 quantized, scale pypto.quant_mx(x) # 显式指定参数 quantized_perf, scale_perf pypto.quant_mx( x, pypto.DT_FP8E4M3, pypto.ROUND_DOWN, -1, True, )结果示例如下Input x.shape: [8, 64] Input x.dtype: DT_FP32 Output quantized.shape: [8, 64] Output quantized.dtype: DT_FP8E4M3 Output scale.shape: [8, 1, 2] Output scale.dtype: DT_FP8E8M0【免费下载链接】pyptoPyPTO发音: pai p-t-oParallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
cann/pypto量化MX函数文档
pypto.quant_mx【免费下载链接】pyptoPyPTO发音: pai p-t-oParallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√功能说明将 1-4 维 ND 格式的高精度浮点 Tensor 量化为 MXMicroscaling格式返回量化结果和共享指数 scale。输入 Tensor 支持 DT_FP16、DT_BF16、DT_FP32。输出量化 Tensor 当前仅支持 DT_FP8E4M3。scale Tensor 的数据类型固定为 DT_FP8E8M0。当前仅支持对尾轴进行量化且仅支持 ROUND_DOWN 模式。若输入 shape 记为 $[d_0, d_1, ..., d_{n-1}]$则量化结果quantized的 shape 与input相同。scale 的 shape 为 $[d_0, d_1, ..., d_{n-2}, \lceil d_{n-1} / 64 \rceil, 2]$。函数原型quant_mx( input: Tensor, quant_dtype: DataType DataType.DT_FP8E4M3, mode: DequantScaleRoundingMode DequantScaleRoundingMode.ROUND_DOWN, axis: int -1, performance_mode: bool False, ) - Tuple[Tensor, Tensor]参数说明参数名输入/输出说明input输入源操作数。支持的类型为Tensor。Tensor 支持的数据类型为DT_FP16、DT_BF16、DT_FP32。仅支持 TILEOP_ND 格式Shape 仅支持 1-4 维。当前仅支持最后一维参与量化且最后一维按字节数需满足 256 字节对齐。对于 DT_FP32通常要求最后一维长度是 64 的倍数对于 DT_FP16/DT_BF16通常要求最后一维长度是 128 的倍数。quant_dtype输入量化后输出 Tensor 的数据类型。当前仅支持DT_FP8E4M3。mode输入量化时共享指数的舍入模式。当前仅支持ROUND_DOWN。axis输入指定量化轴。当前仅支持最后一维即-1或input.shape.size() - 1。performance_mode输入是否启用性能模式。默认值为True。启用后可获得更好的性能但仅改变内部 TQuant 的中间布局不改变返回的公共scaleshape。启用该模式时不支持尾块场景即运行时实际 shape 需要整除 view shape。除此之外view shape 与 TileShape 的尾轴长度必须相同且该尾轴长度需要与输入最后一维保持一致。当前只支持性能模式返回值说明返回一个二元组(quantized, scale)quantized量化后的 Tensor数据类型由quant_dtype指定Shape 与input相同。scale共享指数 Tensor数据类型固定为 DT_FP8E8M0Shape 为[*input.shape[:-1], ceil(input.shape[-1] / 64), 2]。调用示例TileShape 设置示例说明调用该 operation 接口前应通过set_vec_tile_shapes设置 TileShape。TileShape 维度应和输入一致且最后一维需要满足 256 字节对齐。若performance_modeTrue则不支持尾块场景运行时实际 shape 需要整除 view shape同时 view shape 与 TileShape 的尾轴形状必须相同且 TileShape 的最后一维应与输入最后一维相同。示例 1输入inputshape 为[m, n]输出quantizedshape 为[m, n]scaleshape 为[m, ceil(n / 64), 2]TileShape 可设置为[m1, n1]其中n1需满足对齐约束。pypto.set_vec_tile_shapes(4, 64)接口调用示例x pypto.tensor([8, 64], pypto.DT_FP32) # 默认配置DT_FP8E4M3 ROUND_DOWN 最后一维量化 quantized, scale pypto.quant_mx(x) # 显式指定参数 quantized_perf, scale_perf pypto.quant_mx( x, pypto.DT_FP8E4M3, pypto.ROUND_DOWN, -1, True, )结果示例如下Input x.shape: [8, 64] Input x.dtype: DT_FP32 Output quantized.shape: [8, 64] Output quantized.dtype: DT_FP8E4M3 Output scale.shape: [8, 1, 2] Output scale.dtype: DT_FP8E8M0【免费下载链接】pyptoPyPTO发音: pai p-t-oParallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考