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

CANN/ops-tensor Kernel API 概述

Gemm/Kernel 类模板概述

【免费下载链接】ops-tensorops-tensor 是 CANN (Compute Architecture for Neural Networks)算子库中提供张量类计算的基础算子库,采用模块化设计,支持灵活的算子开发和管理。项目地址: https://gitcode.com/cann/ops-tensor

API 清单

组件名描述
kernel_matmul_basic基础矩阵乘 Kernel,仅 AIC 计算,无 workspace
kernel_qbmm_mx_basicMX 量化 Batch Matmul,支持 MxFP4/MxFP8 量化
kernel_matmul_streamkStreamK 矩阵乘 Kernel,AIC+AIV 双核计算,支持 workspace

公共框架

所有 Kernel 组件基于 kernel.md 公共框架实现,包含统一的:

  • 模板参数
  • 数据结构(Params、Arguments)
  • 核心方法(Init、operator)

详见:kernel.md

核心组件关系

KernelMatmul ├── BlockScheduler (任务调度) │ ├── Tile 切分策略 │ ├── Block 分配 │ └── HF32/L2Cache 配置 ├── BlockMmad (矩阵乘计算) │ ├── GM → L1 → L0 数据搬运 │ ├── Mmad 计算 │ └── L0C → GM 结果搬出 └── BlockEpilogue (后处理) └── Empty 或 StreamK 实现

实现差异对比

Kernel 类型计算模式量化支持Scale 支持BlockEpilogueWorkspaceBatch 支持BlockSchedulerAIC-AIV 同步适用场景
KernelMatmulBasic仅 AIC不支持不支持BlockEpilogueEmpty不需要单 batchMatmulBasic通用 Matmul
KernelQbmmMx仅 AICMX FP4/MX FP8ScaleA + ScaleB不需要多 batchBlockSchedulerQbmm量化 Batch Matmul
KernelMatmulStreamKAIC + AIV 双核不支持不支持BlockEpilogueStreamK需要单 batchStreamK Scheduler切 K 场景 Matmul

使用流程

  1. 查看公共框架:了解模板参数和核心接口 → kernel.md
  2. 选择具体实现:根据场景选择 Basic、QBMM MX 或 StreamK
  3. 查看特殊约束:了解各实现的特有约束和方法
  4. 组装组件:定义 ProblemShape、BlockMmad、BlockEpilogue、BlockScheduler
  5. 准备参数:构造 Params 结构体
  6. 执行 Kernel:实例化并调用 operator()

【免费下载链接】ops-tensorops-tensor 是 CANN (Compute Architecture for Neural Networks)算子库中提供张量类计算的基础算子库,采用模块化设计,支持灵活的算子开发和管理。项目地址: https://gitcode.com/cann/ops-tensor

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

http://www.jsqmd.com/news/860796/

相关文章:

  • 24V直流电源的大地与正极连接导致的问题
  • Nginx 重启失败报错 SSL 证书文件权限拒绝怎么办
  • 2026年腾讯云OpenClaw/Hermes Agent配置Token Plan新手必看指南
  • 外墙彩涂卷哪家好?2026外墙彩涂卷选购指南 - 资讯纵览
  • Tunasync架构深度解析:Manager-Worker设计模式详解
  • 4种信息泄漏检测场景,dumpall如何帮你高效应对?
  • 如何5分钟掌握ZeroOmega:浏览器代理智能切换的终极指南
  • AnyFlip下载器:一键将在线翻页书转换为PDF的终极解决方案
  • 2026年京东云OpenClaw/Hermes Agent配置Token Plan新手必看指南
  • Pandora.js监控数据可视化:集成Grafana打造企业级监控面板
  • 博德之门3脚本扩展器终极指南:5分钟掌握游戏定制化
  • CANN/ops-tensor矩阵乘Kernel框架
  • bezier-easing测试与基准测试:确保性能与精度的最佳实践
  • 对比直接使用原厂 API 体验 Taotoken 在多模型聚合与路由上的优势
  • 10分钟快速上手ModSecurity-nginx:从零构建企业级Web应用防火墙
  • 2026初学者电钢琴保姆级避坑指南|新手全阶段适配攻略,资深钢琴老师力荐
  • 为什么你的ElevenLabs新疆语输出总带口音?92%开发者忽略的3个IPA音系校准参数(附维吾尔语元音舌位图)
  • 大模型的商业化应用:从ToB到ToC的全场景覆盖
  • AI创业的现状与未来:大模型时代下的创业机会
  • 新手如何选购第一台电钢琴?真实经验分享,这8款闭眼入不踩坑
  • 题解:洛谷 P2845 [USACO15DEC] Switching on the Lights S
  • CANN/Ascend C:批处理矩阵乘法临时缓冲区大小计算
  • clawPDF命令行操作:10个实用技巧实现批量PDF处理
  • 如何快速安装Kimera-VIO:Ubuntu 20.04完整教程
  • 异常处理函数在WebShell免杀中的实战应用:绕过安全检测的终极指南
  • GetQzonehistory:如何用Python工具实现QQ空间数据备份的完整方案
  • Lawnicons疑难解答:常见问题与解决方案大全
  • article-extractor实战:5个真实场景下的文章提取解决方案
  • 在线去除视频水印用什么工具?2026 免费工具推荐及实测对比 - 科技热点发布
  • UnattendGenerator实战案例:如何批量部署Windows系统