发布时间:2026/7/16 17:47:20
CANN/cannbot-skills:Kernel层扩展开发 Kernel 层扩展开发指南【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills适用路径blaze_custom路径 A§1 何时需要扩展条件示例需要新的数据通路新增 INT4 量化路径需要新的调度策略自定义负载均衡、三维 K 切分仅更换 dtype/Layout → 修改 Launcher 模板参数仅增加 epilogue → 用MatmulKernelFused。参考 →references/fundamentals/blaze-framework-overview.md§4§2 扩展 DispatchPolicyScheduleType 标签空结构体struct KernelMmadMyNewStrategy {};Policy 结构体template uint64_t FULL_LOAD_MODE_ 0 struct MyNewPolicy { using ScheduleType KernelMmadMyNewStrategy; constexpr static uint64_t fullLoadMode FULL_LOAD_MODE_; };SFINAE 绑定blaze_custom 统一用is_base_of风格见matmul_block_mmad.h:77-79template class DispatchPolicy_, class AType_, ... class BlockMmadDispatchPolicy_, AType_, ..., enable_if_tis_base_of_vMyNewPolicy0, DispatchPolicy_ { /* 实现 */ };blaze 库风格则用直接类型匹配BlockMmadMyNewPolicy0, AType_, ...。§3 扩展 GemmUniversal 偏特化blaze 库路径按ScheduleTypeSFINAE 选择GemmUniversal偏特化template typename PS, typename BM, typename BE, typename BS, typename Enable void struct GemmUniversal { static_assert(always_false_vBM, Unsupported); }; template typename PS, typename BM, typename BE, typename BS struct GemmUniversalPS, BM, BE, BS, enable_if_tis_same_vtypename BM::DispatchPolicy::ScheduleType, KernelMmadMyNewStrategy { /* 实现 */ };blaze_custom 路径不使用GemmUniversal直接编写独立 Kernel 类见 §4。§4 自定义 Kernel 开发3 参数模板 block 循环参考MatmulKernelmatmul_kernel.htemplate class ProblemShape, class BlockMmad, class BlockScheduler class MyNewKernel { public: struct Params { ProblemShape problemShape; typename BlockMmad::Params mmadParams; typename BlockMmad::L1Params l1Params; typename BlockSchedulerOp::Params schParams; }; __aicore__ inline void operator()(const Params params) { if ASCEND_IS_AIV { return; } BlockSchedulerOp bs(params.problemShape, params.schParams); BlockMmad mmadOp; mmadOp.Init(/* ... */); auto gmA MakeTensor(MakeMemPtrLocation::GM(aGmPtr), layoutA); BlockCoord blockIdx; while (bs.GetTileIdx(blockIdx)) { BlockShape singleShape bs.GetBlockShape(blockIdx); mmadOp(gmA.Slice(...), gmB.Slice(...), gmC.Slice(...), singleShape); } } };融合场景参考MatmulKernelFused修饰符改__mix__输出用Location::UB增加 CrossCore 同步 Epilogue 调用。模块索引 →references/modules/blaze-custom/kernel-modules.md【免费下载链接】cannbot-skillsCANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体本仓库为其提供可复用的 Skills 模块。项目地址: https://gitcode.com/cann/cannbot-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/7/16 17:47:20

工业级国产存储芯片4Mb并行接口MRAM芯片

作为优质EMI国产芯片产品,该器件基于STT-MRAM(自旋转移扭矩磁阻随机存取存储器)技术打造,具备非易失性存储、超低功耗、无限读写耐久、强环境适配等核心优势。可完美替代传统FRAM、低功耗SRAM、nvSRAM等存储器件,大幅简…

2026/7/16 17:47:20

算法设计与分析核心思想:从“如何穷举”到“聪明地穷举”

1. 算法设计的本质:穷举的艺术 计算机解决问题的方式其实非常"笨"——它唯一的办法就是尝试所有可能性。就像你要破解一个三位数的密码锁,最直接的方法就是从000试到999。这种暴力尝试所有可能解的方法,我们称之为 穷举法 。 但…

2026/7/16 18:47:23

JetBrains编辑器紧凑化:gutter与code folding协同优化指南

1. 为什么“紧凑化”不是视觉减肥,而是开发效率的杠杆支点JetBrains 编辑器——IntelliJ IDEA、PyCharm、WebStorm 这些工具,用过半年以上的人基本都经历过这个阶段:刚装好时界面清爽,代码区域宽广;三个月后&#xff0…

2026/7/16 18:47:23

AI乱写代码怎么办?cow‑harness帮AI读懂你的全栈项目

文章目录前言一、先搞懂:AI全栈开发的底层核心思维1. 别再死守单端技术栈,顶层思维才是出路二、Git Submodule搭建全栈统一工作区1. 为什么要用submodule?2. 标准目录结构3. 两个核心配置文件作用三、domain-init:让AI深度读懂项目…

2026/7/16 18:47:23

Easy-Query隐式子查询详解:优雅处理OneToMany关系查询

Easy-Query隐式子查询详解:优雅处理OneToMany关系查询 【免费下载链接】easy-query java/kotlin high performance lightweight solution for jdbc query,support oltp and olap query,一款java下面支持强类型、轻量级、高性能的ORM,致力于解决jdbc查询,拥有对象模型…

2026/7/15 17:04:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/15 22:21:34

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/15 23:18:22

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/16 0:04:06

AD9215BRUZRL7-105是一款工业 10bit 流水线模数转换器

型号介绍AD9215BRUZRL7-105 是一款10 位单通道高速流水线模数转换器,它采用模拟单电源独立供电 数字驱动分离供电双电源架构,模拟电源 AVDD 额定 3V,允许工作区间 2.7V~3.3V;数字驱动电源 DRV 独立设计,支持 2.25V~3.…

2026/7/16 0:04:06

LTC4418IUF#TRPBF是一款工业级双通道控制器

型号介绍LTC4418IUF#TRPBF 是一款工业级双通道电源路径控制器,它芯片采用 20 引脚 4mm4mm QFN 封装,底部附带外露散热焊盘作为 21 号 GND 引脚,热阻 θJA 为 47℃/W、θJC 仅 4.5℃/W,散热性能适配大功率切换场景;温区…

2026/7/16 0:04:06

uos-exporter核心组件解析:10个关键监控导出器功能详解

uos-exporter核心组件解析:10个关键监控导出器功能详解 【免费下载链接】uos-exporter uos-exporter collects metrics from os 项目地址: https://gitcode.com/openeuler/uos-exporter 前往项目官网免费下载:https://ar.openeuler.org/ar/ uos-…

2026/7/16 13:58:36

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…