CANN/asc-devkit GEMV矩阵向量计算
# 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×K矩阵A需满足512B地址对齐K个数据连续存储以half类型为例当K256时软件侧可视作16*16分块配置m1后硬件解析为1*256向量可通过LoadData接口将256个half数据从L1 Buffer搬至L0A Buffer。C矩阵是一个1*N的向量当1×N向量被划分为多个1×16子向量时每个子向量在L0C Buffer中占用1024Bu8/s8/f162f32。但实际有效数据仅占最低32B或64B。例如当N50时共划分4个1*16子向量占用4*512B 2048Bf162f16其中有效数据仅为4*32B 128B。图1GEMV模式矩阵乘示意图 ![GEMV模式-矩阵乘示意图](https://raw.gitcode.com/cann/asc-devkit/raw/53dc4118ba3145bede6cae97046a6ac4b1d500e4/docs/api/figures/mmad_gemv.png GEMV模式-矩阵乘示意图?utm_sourcegitcode_repo_files)使用优势M1时自动开启GEMV模式则矩阵乘法将M方向作为非对齐场景进行处理。GEMV模式相较于非对齐处理方式搬运数据量更少性能更好。下面以M1K256N32左右矩阵数据类型为half的矩阵乘示例说明。GEMV模式将A矩阵从L1 BufferTPosition:A1搬运到L0A BufferTPosition:A2时1*256的向量被当作16*16的矩阵进行处理调用LoadData接口一次完成16*16分形大小的矩阵搬运。B矩阵的搬运以及矩阵乘计算跟基础场景相同如下图所示。图2GEMV模式M1的矩阵乘计算示意图 ![GEMV模式M1的矩阵乘计算示意图](https://raw.gitcode.com/cann/asc-devkit/raw/53dc4118ba3145bede6cae97046a6ac4b1d500e4/docs/api/figures/mmad_gemv_compare.png GEMV模式M1的矩阵乘计算示意图?utm_sourcegitcode_repo_files)非GEMV模式将A矩阵从L1 BufferTPosition:A1搬运到L0A BufferTPosition:A2时1*256的向量被当作非对齐矩阵数据进行处理将M方向对齐到32字节后进行搬运。调用LoadData接口每次搬运16*16分形大小的矩阵一共搬运K/1616次导致搬运数据量增加性能相较于GEMV模式差如下图所示。图3非GEMV模式M!1的矩阵乘计算示意图 ![非GEMV模式M1的矩阵乘计算示意图](https://raw.gitcode.com/cann/asc-devkit/raw/53dc4118ba3145bede6cae97046a6ac4b1d500e4/docs/api/figures/mmad_nongemv_compare.png 非GEMV模式M1的矩阵乘计算示意图?utm_sourcegitcode_repo_files)使用示例表1示例配置说明矩阵维度大小数据类型A1 * 4096halfB4096 * 256halfC1 * 256floatA矩阵为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/53dc4118ba3145bede6cae97046a6ac4b1d500e4/docs/api/figures/mmad_gemv_demo.png GEMV模式-矩阵乘示意图-demo?utm_sourcegitcode_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),仅供参考

相关新闻

TradingView股票筛选器终极指南:用Python实现专业级量化分析

TradingView股票筛选器终极指南:用Python实现专业级量化分析

TradingView股票筛选器终极指南:用Python实现专业级量化分析 【免费下载链接】TradingView-Screener A package that lets you create TradingView screeners in Python 项目地址: https://gitcode.com/gh_mirrors/tr/TradingView-Screener TradingView-Scre…

2026/6/17 15:13:31阅读更多 →
风光电站巡检太痛苦?实测CV技术自动定位故障,AI智能体成降本增效利器

风光电站巡检太痛苦?实测CV技术自动定位故障,AI智能体成降本增效利器

摘要: 随着2026年全球能源转型进入深水区,风电与光伏装机容量已历史性超越传统火电,但随之而来的运维压力也达到了临界点。传统的“人眼走访”模式在面对动辄百公里的集电线路和成千上万的光伏面板时,效率瓶颈凸显。本文立足2026年…

2026/6/17 15:13:31阅读更多 →
Bebas Neue字体深度解析:从设计练习到全球现象的技术演进之路

Bebas Neue字体深度解析:从设计练习到全球现象的技术演进之路

Bebas Neue字体深度解析:从设计练习到全球现象的技术演进之路 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 你是否曾经在设计海报标题时,发现所有字体都显得过于"安全"而缺乏…

2026/6/17 15:13:31阅读更多 →
2026五个免费PDF转换器保姆级教程:无水印无限制,在线+电脑本地全覆盖

2026五个免费PDF转换器保姆级教程:无水印无限制,在线+电脑本地全覆盖

你是不是也经常被PDF文件问题困扰?上班需要把PDF报表转成可编辑的Word、Excel,学生党要把论文PDF拆分合并、压缩大小,临时需要把图片转PDF归档,找遍全网工具要么免费次数有限,要么转换后自带刺眼水印,要么电…

2026/6/17 17:34:58阅读更多 →
终极指南:如何快速部署FossFLOW等距图表工具

终极指南:如何快速部署FossFLOW等距图表工具

终极指南:如何快速部署FossFLOW等距图表工具 【免费下载链接】FossFLOW Make beautiful isometric infrastructure diagrams 项目地址: https://gitcode.com/GitHub_Trending/openflow1/FossFLOW 在当今技术架构可视化的需求日益增长的背景下,寻找…

2026/6/17 17:34:58阅读更多 →
如何快速搭建个人电视直播中心?天光云影Android应用实战指南

如何快速搭建个人电视直播中心?天光云影Android应用实战指南

如何快速搭建个人电视直播中心?天光云影Android应用实战指南 【免费下载链接】mytv-android Material 3 Expressive 风格的Android/Android TV IPTV播放器,内建Media3,IJKplayer和 VLC。A Material 3 Expressive style Android/Android TV IPTV player w…

2026/6/17 17:34:58阅读更多 →
Excel VBA驱动CAD自动化:从文件操作到数据交互的跨界实践

Excel VBA驱动CAD自动化:从文件操作到数据交互的跨界实践

1. Excel VBA与CAD跨界联动的价值 在工程设计领域,我们经常遇到这样的场景:Excel表格里存放着项目参数和设计数据,CAD图纸需要根据这些数据实时更新。传统做法是手动在两边来回切换操作,不仅效率低下,还容易出错。这时…

2026/6/17 17:34:58阅读更多 →
Mono.Cecil终极指南:深入.NET程序集操作与修改

Mono.Cecil终极指南:深入.NET程序集操作与修改

Mono.Cecil终极指南:深入.NET程序集操作与修改 【免费下载链接】cecil Cecil is a library to inspect, modify and create .NET programs and libraries. 项目地址: https://gitcode.com/gh_mirrors/ce/cecil Mono.Cecil 是一个功能强大的.NET库&#xff0c…

2026/6/17 17:34:58阅读更多 →
3步构建ESP32物联网水产养殖监控系统:从零到智能控制

3步构建ESP32物联网水产养殖监控系统:从零到智能控制

3步构建ESP32物联网水产养殖监控系统:从零到智能控制 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 想象一下,深夜鱼塘突然缺氧,你却在…

2026/6/17 17:29:57阅读更多 →
飞书机器人接入 OpenClaw 完整落地部署指南(含安装包)

飞书机器人接入 OpenClaw 完整落地部署指南(含安装包)

OpenClaw 2.7.9 对接飞书机器人完整配置教程 本文讲解借助长连接模式打通 OpenClaw 与飞书的操作流程,配置完成后,可在飞书私聊、群组内发送指令,调用本地 AI 实现电脑自动化操作。整体流程分为飞书平台创建应用、权限配置、密钥填写三大环节…

2026/6/17 10:40:20阅读更多 →
嵌入式处理器技术演进与飞思卡尔实战解析:从架构选型到系统设计

嵌入式处理器技术演进与飞思卡尔实战解析:从架构选型到系统设计

1. 嵌入式处理器:从“大脑”到“神经系统”的进化 在电子设备无处不在的今天,我们很少会去思考一个智能设备是如何“思考”和“行动”的。无论是汽车引擎的精准控制、工厂机械臂的流畅运转,还是智能家居的自动响应,其背后都离不开…

2026/6/17 10:40:20阅读更多 →
如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南

如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南

如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南 【免费下载链接】BallonsTranslator 深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑 | Yet another computer-aided comic/manga translation tool powered by deeplearning 项目地…

2026/6/17 10:40:20阅读更多 →