当前位置: 首页 > news >正文

CANN/pypto量化矩阵乘法

pypto.scaled_mm【免费下载链接】pyptoPyPTO发音: pai p-t-oParallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto产品支持情况产品是否支持Ascend 950PR/Ascend 950DT√功能说明实现mat_a 、mat_b矩阵的mx量化矩阵乘运算计算公式为out (mat_a * scale_a) (mat_b * scale_b)mat_a 、mat_b 、scale_a 、scale_b为源操作数mat_a 为左矩阵mat_b为右矩阵scale_a为左矩阵量化参数scale_b为右矩阵量化参数out 为目的操作数存放矩阵乘结果的矩阵函数原型scaled_mm(mat_a, mat_b, out_dtype, scale_a, scale_b, *, a_trans False, b_trans False, scale_a_trans False, scale_b_trans False, c_matrix_nz False, extend_paramsNone) - Tensor参数说明参数名输入/输出说明mat_a输入表示输入左矩阵。不支持输入空Tensor。支持的数据类型为DT_FP8E5M2, DT_FP8E4M3且左右矩阵数据类型需保持一致。支持的矩阵维度2维。输入矩阵支持的Format为TILEOP_ND, TILEOP_NZDT_FP8E5M2输入不支持TILEOP_NZ格式。内轴外轴当输入矩阵mat_a非转置时对应数据排布为[M, K]此时外轴为M内轴为K当输入矩阵mat_a转置时对应数据排布为[K, M]此时外轴为K内轴为M。当Format为TILEOP_NDND格式时外轴范围为[1, 2^31 - 1]内轴范围为[1, 65535]。当Format为TILEOP_NZNZ格式时其Shape维度需满足内轴32字节对齐外轴16元素对齐。在满足Format约束的基础上其Shape维度需满足K轴64元素对齐。在使用pypto.view接口的场景应保证传入View的Shape维度也满足内轴32字节对齐外轴16元素对齐。mat_b输入表示输入右矩阵。不支持输入空Tensor。支持的数据类型为DT_FP8E5M2, DT_FP8E4M3且左右矩阵数据类型需保持一致。支持的矩阵维度2维。输入矩阵支持的Format为TILEOP_ND, TILEOP_NZDT_FP8E5M2输入不支持TILEOP_NZ格式。内轴外轴当输入矩阵mat_b非转置时对应数据排布为[K, N]此时外轴为K内轴为N当输入矩阵mat_b转置时对应数据排布为[N, K]此时外轴为N内轴为K。当Format为TILEOP_NDND格式时外轴范围为[1, 2^31 - 1]内轴范围为[1, 65535]。当Format为TILEOP_NZNZ格式时其Shape维度需满足内轴32字节对齐外轴16元素对齐。在满足Format约束的基础上其Shape维度需满足K轴64元素对齐。在使用pypto.view接口的场景应保证传入View的Shape维度也满足内轴32字节对齐外轴16元素对齐。out_dtype输出表示输出矩阵数据类型支持DT_FP32DT_FP16DT_BF16。scale_a输入表示输入左矩阵量化参数。不支持输入空Tensor。支持的数据类型为DT_FP8E8M0。支持的量化参数维度3维。输入量化参数shape为当输入量化参数非转置时对应输入shape为[M, K/64, 2]当输入量化参数转置时对应输入shape为[K/64, M, 2]。其中M和K值等于输入矩阵mat_a的M、K值。输入量化参数支持的Format为TILEOP_ND。scale_b输入表示输入右矩阵量化参数。不支持输入空Tensor。支持的数据类型为DT_FP8E8M0。支持的量化参数维度3维。输入量化参数shape为当输入量化参数非转置时对应输入shape为[K/64, N, 2]当输入量化参数转置时对应输入shape为[N, K/64, 2]。其中M和K值等于输入矩阵mat_a的M、K值。输入量化参数支持的Format为TILEOP_ND。a_trans输入参数a_trans表示输入左矩阵是否转置默认为False。b_trans输入参数b_trans表示输入右矩阵是否转置默认为False。scale_a_trans输入参数scale_a_trans表示输入左矩阵量化参数是否转置默认为False。scale_b_trans输入参数scale_b_trans表示输入右矩阵量化参数是否转置默认为False。c_matrix_nz输入参数c_matrix_nz表示输出矩阵的Format是否采用NZ格式默认为False当前仅支持设置False即输出矩阵仅支持ND格式。extend_params输入支持bias及fixpipe的反量化功能数据类型为字典格式。默认为None当前仅支持bias场景。详见表2表2extend_params参数说明参数名说明bias_tensor表示偏置矩阵。输入为Tensor类型。Bias矩阵数据类型可选DT_FP16、DT_BF16和DT_FP32。bias_tensor只支持ND格式。bias_tensor的第一维度应置1且N维度需要与mat_b矩阵的N维度相等。仅支持矩阵维度为2维场景。不支持叠加多核切K功能。返回值说明返回值为out 矩阵Tensor。约束说明调用scaled_mm接口前需要通过pypto.set_cube_tile_shapes设置M、N、K轴上的切分大小。调用scaled_mm接口的输入为调用pypto.reshape后的NZ格式时需要调用pypto.set_matrix_size接口设置pypto.reshape前的输入到matmul的原始Shape的m,k,n值。调用示例mat_a pypto.tensor([64, 128], pypto.DT_FP8E5M2, mat_a) mat_b pypto.tensor([128, 32], pypto.DT_FP8E5M2, mat_b) scale_a pypto.tensor([64, 2, 2], pypto.DT_FP8E8M0, scale_a) scale_b pypto.tensor([2, 32, 2], pypto.DT_FP8E8M0, scale_b) out1 pypto.scaled_mm(mat_a, mat_b, pypto.DT_BF16, scale_a, scale_b) mat_a pypto.tensor([128, 64], pypto.DT_FP8E5M2, mat_a) mat_b pypto.tensor([32, 128], pypto.DT_FP8E5M2, mat_b) scale_a pypto.tensor([2, 64, 2], pypto.DT_FP8E8M0, scale_a) scale_b pypto.tensor([32, 2, 2], pypto.DT_FP8E8M0, scale_b) bias pypto.tensor((1, 32), pypto.DT_FP16, tensor_bias) extend_params {bias_tensor: bias} out1 pypto.scaled_mm(mat_a, mat_b, pypto.DT_BF16, scale_a, scale_b, scale_a_transTrue, scale_b_transTrue, extend_paramsextend_params)【免费下载链接】pyptoPyPTO发音: pai p-t-oParallel Tensor/Tile Operation编程范式。项目地址: https://gitcode.com/cann/pypto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
http://www.gsyq.cn/news/1342801.html

相关文章:

  • 如何用中文Kodi插件库打造完美的家庭影院系统
  • OptScale 安全最佳实践:10个关键步骤保护你的云成本数据和配置
  • feh开发者指南:理解项目架构和代码实现原理
  • 为什么选择Marginalia:与Rails 7内置QueryLogs的对比分析
  • 洞见规范---幕墙性能之十三太保---防火性能
  • Sub-Zero字幕格式转换:从SRT到VTT的完整处理流程
  • 使用swift-doc diagram功能:10个步骤可视化Swift类型关系图
  • CANN asc-devkit bfloat16转fp4x2函数
  • 蘑菇博客移动端开发实战:uniapp+ColorUI构建跨平台博客应用
  • 【机器人控制】5个超声波传感器移动机器人报警控制系统研究附Matlab代码
  • 从0到1集成Backboard:Android Studio配置与依赖管理完整教程
  • 深度解析uesave:Unreal引擎存档处理的底层原理与高级应用
  • Material File Picker深度解析:从设计理念到Android文件选择器的系统构建
  • 终极Instagram密码强度测试工具Instahack:如何用Termux实现高效暴力破解
  • C++抽象类与接口设计
  • SSZipArchive终极指南:如何在Apple生态系统中轻松处理ZIP文件压缩与解压缩
  • 昇腾CANN community:开源社区的运作机制和参与路径
  • 赛博深渊(下):Apple Foundation Models 炼金术士的低语与硅基大脑的觉醒
  • 围棋AI训练平台KaTrain:免费智能教练的终极使用指南
  • USBIPD-Win终极指南:在Windows与WSL 2间实现无缝USB设备共享的完整教程
  • 昇腾CANN atvc:向量算子模板库的核心理念和踩坑指南
  • 如何用ComfyUI-Impact-Pack实现AI图像增强的完整性能优化指南
  • Crossfilter源码解析:揭秘增量过滤和归约计算的技术细节
  • 如何用SciencePlots快速制作专业科研图表:终极美化方案指南
  • MVVMFramework网络请求自动缓存:提升iOS应用性能的3个秘诀
  • CANN/asc-devkit数据搬运API样例
  • 2026最权威一键生成论文工具榜单:这些被高校和导师偷偷推荐的软件你用了吗
  • DeepEval终极指南:如何用开源框架轻松评估AI模型质量
  • 终极指南:如何快速上手MobileNetV3预训练模型实现高效图像分类
  • ubuntu24 主题经验