news 2026/6/15 20:47:53

cann/ops-blas算子模板库

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
cann/ops-blas算子模板库

Skill: blas-op-templates

【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas

ops-blas 算子代码模板库,为不同编程模型和目标架构提供标准化的代码骨架。Agent 在开发新算子时,应以对应类型的模板为起点,按算子需求填充业务逻辑。


算子分类体系

ops-blas 仓中的算子按编程模型目标架构两个维度分类:

编程模型

编程模型关键特征适用场景模板目录
SIMD membaseTPipe/TQue/DataCopyPad/SetFlag/WaitFlag<HardEvent::...>数据搬运为主、Vector 计算为辅的算子(Level-1 BLAS 等)references/simd-membase/
SIMD regbase__VEC_SCOPE__/RegTensor/MicroAPI::DataCopy/Mul/Add/ReduceSum寄存器级 SIMD 算子,在 UB 内使用寄存器张量计算references/simd-regbase/
SIMT__simt_vf__/asc_vf_call/threadIdx.x/blockDim.x线程级并行算子(Level-2/3 BLAS 等,仅 arch35)references/simt/

目标架构

架构SOC_VERSIONNPU_ARCH说明
arch20ascend310p*dav-1101推理芯片
arch22ascend910b* / ascend910_93*dav-2201训练/推理芯片
arch35ascend950*dav-3510Atlas A5 系列(当前重点)

模板目录结构

每个编程模型的模板文件按仓库实际目录层级组织,从blas/一级开始,仅包含算子实现代码:

references/<programming-model>/ blas/{family}/{op}/ archxx/ op_tiling_data.h -- Tiling 数据结构(host/kernel 共享) op_kernel.cpp -- Device 侧 kernel 实现 op_host.cpp -- Host 侧 API 入口 + Tiling 计算

说明:

  • simd-membase模板适用于 arch22 和 arch35,使用archxx/作为通用目录名
  • simd-regbase模板仅适用于 arch35(DAV_3510 RegBase 模式),使用arch35/目录名
  • simt模板仅适用于 arch35(arch22 不支持 SIMT 编程模型)
  • {family}{op}为占位符,使用时替换为实际的算子族名和算子名(如swap/sswapdot/sdot

算子交付件目录结构

一个完整算子在仓库中的文件布局(模板仅覆盖blas/部分):

blas/<family>/<op_name>/ README.md arch35/ <op_name>_host.cpp <op_name>_kernel.cpp <op_name>_tiling_data.h

命名规范

元素规范示例
算子目录blas/<family>/<blas_name>/blas/swap/sswap/
Kernel 文件<op>_kernel.cppsswap_kernel.cpp
Host 文件<op>_host.cppsswap_host.cpp
Tiling 头文件<op>_tiling_data.hsswap_tiling_data.h
Tiling 结构体<Op>TilingData(PascalCase)SswapTilingData
Kernel 类<Op>AIV<Op>Kernel<T>(SIMD)SswapAIV
SIMT 计算函数<Op>SimtCompute+__simt_vf__SspmvSimtCompute
Kernel 入口<op>_kernel__global__sswap_kernel
Kernel 启动器<op>_kernel_dosswap_kernel_do
公共 APIaclblas<Op>(PascalCase)aclblasSswap
测试 fixture<Op>Arch35TestSswapArch35Test

使用方法

  1. 根据算子的编程模型和目标架构,选择对应的模板目录
  2. 将模板文件复制到算子目录,按命名规范重命名
  3. 按模板中的// TEMPLATE:注释指引,替换占位逻辑为实际业务逻辑
  4. 模板中的代码已包含标准框架(Init/Process、参数校验、Tiling 计算等),只需填充核心算法部分

参考资源

资源路径说明
SIMD membase 模板references/simd-membase/以 sswap 为原型抽取的 SIMD membase 算子全套模板(arch22/arch35 通用)
SIMD regbase 模板references/simd-regbase/以 gemv_batched 为原型抽取的 SIMD regbase 算子全套模板(仅 arch35)
SIMT 模板references/simt/以 sspmv/sgemv 为原型抽取的 SIMT 算子全套模板(仅 arch35)

原始参考算子

编程模型参考算子路径
SIMD membasesswapblas/swap/sswap/arch35/
SIMD membasesdotblas/dot/sdot/arch35/
SIMD regbasegemv_batchedblas/gemv_batched/arch35/
SIMTsspmvblas/spmv/sspmv/arch35/
SIMTsgemvblas/gemv/sgemv/arch35/

Base directory for this skill: file:///mnt/workspace/gitCode/cann/ops-blas/agent/skills/blas-op-templates

【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 16:32:15

d2s-editor:暗黑破坏神2存档编辑器的5大核心优势与完整使用指南

d2s-editor&#xff1a;暗黑破坏神2存档编辑器的5大核心优势与完整使用指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾经为了刷一件稀有装备而花费数小时&#xff1f;是否想要快速体验不同的角色build却苦于装备收…

作者头像 李华
网站建设 2026/6/13 17:01:57

MAA助手:3步解放双手,实现明日方舟全日常自动化的完整方案

MAA助手&#xff1a;3步解放双手&#xff0c;实现明日方舟全日常自动化的完整方案 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手&#xff0c;全日常一键长草&#xff01;| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地…

作者头像 李华
网站建设 2026/6/15 17:39:26

TuxGuitar终极指南:免费开源吉他谱编辑器的5个核心功能详解

TuxGuitar终极指南&#xff1a;免费开源吉他谱编辑器的5个核心功能详解 【免费下载链接】tuxguitar Open source guitar tablature editor 项目地址: https://gitcode.com/gh_mirrors/tu/tuxguitar TuxGuitar是一款功能强大的开源吉他谱编辑器&#xff0c;支持创建、编辑…

作者头像 李华
网站建设 2026/6/13 16:59:33

Type-C设计何时能省掉CC芯片?三原则与无芯片方案实战解析

1. 项目概述&#xff1a;重新审视Type-C设计的“芯片依赖症” 刚接触Type-C接口设计那会儿&#xff0c;我和很多工程师一样&#xff0c;陷入了“芯片依赖”的惯性思维。看到Type-C那对称的24个引脚&#xff0c;尤其是那两根神秘的CC线&#xff0c;第一反应就是&#xff1a;得找…

作者头像 李华
网站建设 2026/6/13 18:24:16

新蜂商城实战指南:从零构建企业级电商平台的完整攻略

新蜂商城实战指南&#xff1a;从零构建企业级电商平台的完整攻略 【免费下载链接】newbee-mall &#x1f525; &#x1f389;newbee-mall是一套电商系统&#xff0c;包括基础版本(Spring BootThymeleaf)、前后端分离版本(Spring BootVue 3Element-PlusVue-Router 4PiniaVant 4)…

作者头像 李华