CANN/asc-devkit:矩阵乘输出的Channel拆分
矩阵乘输出的Channel拆分【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能介绍矩阵乘输出的Channel拆分又称ChannelSplit。指当Matmul计算结果C矩阵的格式为NZ时C矩阵采用分形存储关于NZ格式的详细内容请参考数据格式。当C矩阵的物理排布格式为NZ、数据类型为float时默认情况下每个分形内部包含16*16个元素即分形的大小为16*16。ChannelSplit的功能为将此场景下C矩阵的每个16*16的分形切分为16*8的分形使得C矩阵按照16*8的分形进行存储。由于1个float类型数据的大小为4字节16*8的分形在内轴满足32字节对齐内轴上的数据量与一条NPU矢量计算指令处理的数据单元一致这便于后续的其它计算。ChannelSplit功能默认不启用用户需通过设置MatmulConfig中的isEnableChannelSplit参数为true来开启此功能。图1ChannelSplit功能示意图![](https://raw.gitcode.com/cann/asc-devkit/raw/ded540824a702f5cab69a36879315c31ce8ff9b7/docs/zh/guide/figures/ChannelSplit功能示意图.png ChannelSplit功能示意图?utm_sourcegitcode_repo_files)使用场景对于NZ格式、float类型的C矩阵需要按16*8的分形存储时使用该功能。约束说明开启ChannelSplit功能需满足C矩阵的数据排布格式为CubeFormat::NZ。C矩阵的数据类型为float。C矩阵的内存逻辑位置为Global Memory。矩阵乘结果CO1数据类型为float。调用示例完整的算子样例请参考matmul_channelsplit算子样例。// 指定获取和修改的MatmulConfig模板 constexpr static MatmulConfigMode configMode MatmulConfigMode::CONFIG_NORM; // 修改模板参数isEnableChannelSplittrue开启该MatmulConfig模板的ChannelSplit功能 constexpr static MatmulFuncParams funcParamsChannelSplit{ false, false, false, false, 0, IterateOrder::ORDER_M, ScheduleType::INNER_PRODUCT, true, false, false, false, true/*isEnableChannelSplit*/ }; constexpr static MatmulConfig MM_CFG GetMMConfigconfigMode(funcParamsChannelSplit); MatmulA_TYPE, B_TYPE, C_TYPE, BIAS_TYPE, MM_CFG mm; // 常规Matmul计算最后输出分形为16*8 REGIST_MATMUL_OBJ(pipe, GetSysWorkSpacePtr(), mm); mm.SetTensorA(gm_a); mm.SetTensorB(gm_b); mm.SetBias(gm_bias); mm.IterateAll(gm_c);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

结合之前对 Prism 导航服务、模块化开发、模块间通信、对话服务、事件聚合器、区域和数据绑定的提问,我将提供一个精简且聚焦的回答,详细介绍 Prism 中绑定转换器的功能、代码示例、测试代码

结合之前对 Prism 导航服务、模块化开发、模块间通信、对话服务、事件聚合器、区域和数据绑定的提问,我将提供一个精简且聚焦的回答,详细介绍 Prism 中绑定转换器的功能、代码示例、测试代码

结合之前对 Prism 导航服务、模块化开发、模块间通信、对话服务、事件聚合器、区域和数据绑定的提问,我将提供一个精简且聚焦的回答,详细介绍 Prism 中绑定转换器的功能、代码示例、测试代码、适用场景和使用方法,基于 WPF 环境,避…

2026/10/17 16:33:50 阅读更多 →
当围棋遇见AI:用LizzieYzy打开专业分析的新世界

当围棋遇见AI:用LizzieYzy打开专业分析的新世界

当围棋遇见AI:用LizzieYzy打开专业分析的新世界 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy 围棋,这门古老而深邃的东方智慧艺术,在人工智能时代迎来了全新的…

2026/10/17 23:32:02 阅读更多 →
题解:洛谷 B4003 [GESP202406 三级] 移位

题解:洛谷 B4003 [GESP202406 三级] 移位

【题目来源】 洛谷:B4003 [GESP202406 三级] 移位 - 洛谷 【题目描述】 小杨学习了加密技术移位,所有大写字母都向后按照一个固定数目进行偏移。偏移过程会将字母表视作首尾相接的环,例如当偏移量是3的时候,大写字母A会替换成D,大写字母Z会替换成C,总体来看大写字母表…

2026/10/16 5:55:35 阅读更多 →

最新新闻

C# WebSocket实战:从握手到心跳重连的完整Demo解析

C# WebSocket实战:从握手到心跳重连的完整Demo解析

简介:这是一套面向C#开发者的WebSocket通信完整示例,适合需要实现实时双向通信、研究服务端与客户端交互逻辑的中高级程序员,也可作为ASP.NET项目集成WebSocket功能的参考。资源包内含客户端与服务端两个完整工程,共76个文件&…

2026/10/18 8:38:19 阅读更多 →
Spring Boot自动配置与Maven依赖管理:从原理到实战排查

Spring Boot自动配置与Maven依赖管理:从原理到实战排查

直接说结论:Spring Boot 最核心的“魔法”就是自动配置,而 Maven 则是支撑这一切运转的基石。很多人在项目里把依赖一引、启动类一写,应用就跑起来了,但一旦遇到版本冲突、配置失效或想自定义 Starter 时,就会卡住。这…

2026/10/18 8:38:19 阅读更多 →
投资者结构优化与市场波动率:实证检验与倒U型规律

投资者结构优化与市场波动率:实证检验与倒U型规律

这两年聊到市场波动,总绕不开一个词:投资者结构。几乎每次市场剧烈震荡之后,都会有人把原因归到散户太多、机构太少,顺手得出一个结论——结构优化了,市场自然就稳了。我刚接手这块研究时也差不多是这个直觉&#xff0…

2026/10/18 8:38:19 阅读更多 →
MFC中COleDispatchException异常处理实践:从错误码到自动化调用排坑

MFC中COleDispatchException异常处理实践:从错误码到自动化调用排坑

1. 从一个诡异的崩溃说起:OLE自动化异常到底是怎么回事先讲一个我实际遇到的场景。某项目里需要程序自动操作本机的一个ActiveX组件,往外部系统推送数据。功能跑起来倒是顺畅,但是运行到某个中间环节,程序突然弹出错误对话框——不…

2026/10/18 8:38:19 阅读更多 →
LangChain4j声明式Agent底层真相:动态代理与大模型函数回调

LangChain4j声明式Agent底层真相:动态代理与大模型函数回调

1. 声明式Agent:Java生态里被严重低估的“接口即服务”设计我用LangChain4j写过几个实际项目之后,最大的感受是:很多人在初学阶段就被AiServices那一套“接口定义Agent”的写法震住了,第一反应是“这不就是个注解处理器吗”。但如…

2026/10/18 8:38:19 阅读更多 →
对话式Linux运维Agent:高危操作强制确认与断线自动守候

对话式Linux运维Agent:高危操作强制确认与断线自动守候

长期在 Linux 运维一线干活的人都有过这种纠结时刻:一台线上服务器在手边,一条 rm -rf 敲下去,回车键一按,几秒钟可能就毁掉团队几个月的积累。做这个对话式 Linux 运维 Agent 的初衷很简单,我想让机器替我处理那些繁琐…

2026/10/18 8:37:18 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →