尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CANN/asc-devkit GEMV矩阵向量乘特性说明

CANN/asc-devkit GEMV矩阵向量乘特性说明
📅 发布时间:2026/7/16 23:39:10

# GEMV

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

特性说明:

Gemv的核心功能体现为:当矩阵A的维度M取值为1时,接口会自动启用Gemv功能,该操作退化为1×K维度的行向量与K×N维度矩阵之间的乘法运算。

针对Ascend 950PR/Ascend 950DT产品,可以通过设置MmadParams的disableGemv参数为true,将该功能关闭。

特性约束:

  1. 1×K矩阵A需满足512B地址对齐,K个数据连续存储;以half类型为例,当K=256时,软件侧可视作16*16分块,配置m=1后硬件解析为1*256向量,可通过LoadData接口将256个half数据从L1 Buffer搬至L0A Buffer。

  2. C矩阵是一个(1*N)的向量,当1×N向量被划分为多个1×16子向量时,每个子向量在L0C Buffer中占用1024B。但实际有效数据仅占最低32B或64B。例如,当N=50时,共划分4个1*16子向量,占用4*512B = 2048B,其中有效数据仅为4*32B = 128B。

图1GEMV模式,矩阵乘示意图

![GEMV模式-矩阵乘示意图](https://raw.gitcode.com/cann/asc-devkit/raw/1cd1d1192e01ae4a8684cd07552c35e13e5c4bdf/docs/zh/api/figures/mmad_gemv.png "GEMV模式-矩阵乘示意图"?utm_source=gitcode_repo_files)

使用优势:

M=1时自动开启GEMV模式,则矩阵乘法将M方向作为非对齐场景进行处理。GEMV模式相较于非对齐处理方式,搬运数据量更少,性能更好。下面以M=1,K=256,N=32,左右矩阵数据类型为half的矩阵乘示例说明。

  • GEMV模式

    将A矩阵从L1 Buffer(TPosition:A1)搬运到L0A Buffer(TPosition:A2)时,1*256的向量被当作16*16的矩阵进行处理,调用LoadData接口一次完成16*16分形大小的矩阵搬运。B矩阵的搬运以及矩阵乘计算跟基础场景相同,如下图所示。

    图2GEMV模式M=1的矩阵乘计算示意图

    ![GEMV模式M=1的矩阵乘计算示意图](https://raw.gitcode.com/cann/asc-devkit/raw/1cd1d1192e01ae4a8684cd07552c35e13e5c4bdf/docs/zh/api/figures/mmad_gemv_compare.png "GEMV模式M=1的矩阵乘计算示意图"?utm_source=gitcode_repo_files)

  • 非GEMV模式

    将A矩阵从L1 Buffer(TPosition:A1)搬运到L0A Buffer(TPosition:A2)时,1*256的向量被当作非对齐矩阵数据进行处理,将M方向对齐到32字节后进行搬运。调用LoadData接口每次搬运16*16分形大小的矩阵,一共搬运K/16=16次,导致搬运数据量增加,性能相较于GEMV模式差,如下图所示。

    图3非GEMV模式M=1的矩阵乘计算示意图

    ![非GEMV模式M=1的矩阵乘计算示意图](https://raw.gitcode.com/cann/asc-devkit/raw/1cd1d1192e01ae4a8684cd07552c35e13e5c4bdf/docs/zh/api/figures/mmad_nongemv_compare.png "非GEMV模式M=1的矩阵乘计算示意图"?utm_source=gitcode_repo_files)

使用示例:

表1示例配置说明

矩阵维度大小数据类型
A1 * 4096half
B4096 * 256half
C1 * 256float

A矩阵为1* 4096的向量,从软件侧可以视为64*64的(针对Ascend 950PR/Ascend 950DT产品为NZ分形)数据,通过LoadData搬运到L0A Buffer上;

C矩阵为1* 256的向量,共可以划分为16个1 * 16的子向量,占用16 * 1024B = 16384B(f162f32),其中有效数据仅仅为16 * 64B = 1024B;

图4GEMV模式矩阵乘示意图

![GEMV模式-矩阵乘示意图-demo](https://raw.gitcode.com/cann/asc-devkit/raw/1cd1d1192e01ae4a8684cd07552c35e13e5c4bdf/docs/zh/api/figures/mmad_gemv_demo.png "GEMV模式-矩阵乘示意图-demo"?utm_source=gitcode_repo_files)

GEMV功能的完整示例:GEMV样例。

AscendC::MmadParams mmadParams; // 设置m = 1自动开启GEMV能力 mmadParams.m = 1; mmadParams.n = n; mmadParams.k = k; AscendC::Mmad(c, a, b, mmadParams);

针对Ascend 950PR/Ascend 950DT产品,可以通过设置MmadParams的disableGemv参数为true,将该功能关闭,示例如下:

AscendC::MmadParams mmadParams; // 设置m = 1自动开启GEMV能力 mmadParams.m = 1; mmadParams.n = n; mmadParams.k = k; // 关闭GEMV mmadParams.disableGemv = true; AscendC::Mmad(c, a, b, mmadParams);

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

  • CANN/asc-devkit:AddrReg地址寄存器API
  • ACE-Step UI:免费开源AI音乐生成平台,Suno替代方案终极指南
  • 从加法器到乘法器:硬件加速的基石与演进

最新新闻

  • 真力时中国官方售后服务中心|服务电话及详细地址权威信息公告(2026年7月更新) - 亨得利官方服务中心
  • 上海宝山区黄金回收市场测评:全域16区实地核验,3家合规门店纳入2026放心白名单 - 沪上贵金属口碑推荐官
  • 2026年企业AI智能体怎么选?先确认你是哪类用户画像 —— 跨系统执行、信创适配与大模型落地工程化选型指南
  • 2026年镇江不锈钢法兰行业格局与本地化配套能力分析 - 企业推荐官【官方】
  • OpenClaw 小龙虾部署避坑大全,路径 / 杀毒 / 初始化故障汇总
  • 欧米茄官方查询真伪步骤的售后保养完整指南权威公示(2026年7月最新) - 欧米茄服务中心

日新闻

  • 佛山青少年训练营推荐:军博营地实力顶尖 - 秋山寄远
  • 如何快速上手PvZ2 Gardendless:免费Web版植物大战僵尸2完整指南
  • jiuwen-deepsearch核心功能详解:规划-检索-反思三合一智能工作流

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号