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

CANN/catlass EVG 快速上手

EVG 快速上手【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass如果只是想先把第一个 EVG 样例跑起来再理解它是怎么组装出来的这篇文档可以直接作为入口。更完整的接口说明见 evg_api设计背景见 01_evg_design。目标这里用最简单的一类 EVG 场景说明接入过程GEMM 主循环先算出C A x BEVG 再完成逐元素加法D C X对应的图结构可以理解成从 GEMM 结果读取C从 GM 读取外部输入X做一次逐元素Add把结果写回D第一步定义 EVG这一步只描述尾处理逻辑不关心 tile 切分、双缓冲和事件同步。D C X在当前接口下可以写成一棵TreeVisitor#include catlass/epilogue/fusion/fusion.hpp using LayoutX LayoutC; using LayoutD LayoutC; using AddVisitor Epilogue::Fusion::TreeVisitor Epilogue::Fusion::VisitorComputeEpilogue::Fusion::Add, ElementC, Epilogue::Fusion::VisitorAccLoadElementC, Epilogue::Fusion::VisitorAuxLoadElementC, LayoutX ; using EVG Epilogue::Fusion::TreeVisitor Epilogue::Fusion::VisitorAuxStoreElementC, LayoutD, AddVisitor ;这里各节点的职责分别是VisitorAccLoad读取 GEMM 结果VisitorAuxLoad读取外部输入XVisitorComputeAdd, ...完成C XVisitorAuxStore写回D如果只是做这类“先取数再做逐元素计算最后写回”的尾处理通常直接用TreeVisitor就够了。第二步组装 BlockEpilogueEVG 本身只描述图。真正把它接到 GEMM 后面的是BlockEpilogue。对最常见的 GM workspace 路径可以写成using ArchTag Arch::Ascend950; constexpr uint32_t computeLength (216 * 1024 / 3 / 2 / sizeof(ElementC)) / BYTE_PER_C0 * BYTE_PER_C0; using BlockEpilogue Epilogue::Block::BlockEpilogue Epilogue::EpilogueVisitorfalse, ArchTag, IntcomputeLength, EVG, ElementC ;这里真正需要先记住的只有两点EpilogueVisitorfalse表示走 GM workspace 路径computeLength决定单次在 UB 中处理多少元素computeLength的完整口径在 evg_api 的“computeLength 选择”里有单独说明。第一次接入时直接沿用已有 EVG 样例的计算方式最稳妥。第三步选择 visitor kernel把 EVG 接到 GEMM 主循环上时当前主仓口径下使用 visitor kernel#include catlass/gemm/kernel/basic_matmul_tla_visitor.hpp using MatmulKernel Gemm::Kernel::BasicMatmulTlaVisitorBlockMmad, BlockEpilogue, BlockScheduler;如果后面要走 UB workspace 路径再把这里替换成BasicMatmulTlaUbVisitor同时把EpilogueVisitorfalse和VisitorAccLoad对应切到 UB 模式。第四步准备 EVG 参数EVG 的参数单独放在EVG::Arguments里再作为evg_args传给 kernelArguments。TreeVisitor的参数顺序是“先子后父”所以D C X可以这样写typename EVG::Arguments evg_args{ { {}, {deviceX, layoutX}, {} }, {deviceD, layoutD} };对应关系如下第一个{}VisitorAccLoad::Arguments{deviceX, layoutX}VisitorAuxLoad::Arguments第二个{}VisitorCompute::Arguments{deviceD, layoutD}VisitorAuxStore::Arguments再把evg_args放进 kernel 参数typename MatmulKernel::Arguments arguments{ problemShape, deviceA, layoutA, deviceB, layoutB, deviceD, layoutD, nullptr, evg_args };这里有一个当前实现里的固定点公开Arguments里虽然保留了ptrC/layoutC但 visitor 路径真正的写回位置还是由evg_args里的VisitorAuxStore决定。第五步编译与执行以39_ascend950_matmul_add_evg为例编译方式和其他样例一致bash scripts/build.sh 39_ascend950_matmul_add_evg -DCATLASS_ARCH3510cd output/bin ./39_ascend950_matmul_add_evg 256 512 1024 0出现Compare success.说明这条Matmul Add链路的结果符合预期。接下来读什么如果已经能看懂上面的组装过程后面可以继续看evg_api把TreeVisitor、TopologicalVisitor、节点参数和computeLength一次看清楚01_evg_design补执行模型、分层关系和双缓冲时序02_evg_extension需要新增算子或节点时再看对照代码时优先看这几类文件include/catlass/epilogue/fusion/fusion.hppinclude/catlass/gemm/kernel/basic_matmul_tla_visitor.hppinclude/catlass/epilogue/block/block_epilogue_visitor.hppEVG 样例代码【免费下载链接】catlass本项目是CANN的算子模板库提供NPU上高性能矩阵乘及其相关融合类算子模板样例。项目地址: https://gitcode.com/cann/catlass创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

CANN/catlass EVG 快速上手

EVG 快速上手 【免费下载链接】catlass 本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 如果只是想先把第一个 EVG 样例跑起来,再理解它是怎么组装出来的,…...

南北阁Nanbeige 3B环境配置:从操作系统重装到模型服务上线全流程

南北阁Nanbeige 3B环境配置:从操作系统重装到模型服务上线全流程 如果你刚拿到一台新机器,或者想把旧机器彻底清理干净,从头开始搭建一个AI模型运行环境,那这篇文章就是为你准备的。整个过程听起来有点复杂,但别担心&…...

物理世界数字孪生重构,镜像视界打造超大型港口全真镜像底座

副标题:无锚点自标定 厘米级空间反演,颠覆传统港口布控与定位模式在全球智慧港口升级的关键阶段,传统港口定位依赖GPS、人工锚点与标签基站,存在信号遮挡失准、部署成本高、维护难度大、动态目标追踪断链等痛点,已无法…...

深度解析KrkrzExtract:新一代krkrz引擎资源处理实战指南

深度解析KrkrzExtract:新一代krkrz引擎资源处理实战指南 【免费下载链接】KrkrzExtract The next generation of KrkrExtract 项目地址: https://gitcode.com/gh_mirrors/kr/KrkrzExtract 在视觉小说游戏开发领域,krkrz引擎的资源管理一直是一个技…...

在Hermes Agent项目中自定义Provider并接入Taotoken聚合API

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Hermes Agent项目中自定义Provider并接入Taotoken聚合API 对于使用Hermes Agent框架的开发者而言,将后端模型服务切换…...

C++ 设计模式,别死记硬背:23 种设计模式其实就这几个思路

很多人学设计模式,学着学着就会进入一种很熟悉的状态: 名字都听过定义也背过甚至类图都看过但一写代码,还是不知道什么时候该用 这事其实特别正常。 因为很多人从一开始就学反了。 设计模式最不该先背的,就是定义。 你真正该先抓住…...

华为在数字中国建设峰会:只有根系扎实,行业应用才能长出来

作者:王聪彬“根技术、落地”是华为在第九届数字中国建设峰会想要传递出的两个关键字。“根技术”顾名思义是华为自主研发、长期积累、持续投入的核心底层技术,构建起数字中国建设的底层根基。“落地”则是华为一直在谈的深耕行业智能化实践,…...

全球南方国家在AI全球灾难性风险治理中的关键作用与路径

1. 项目概述:一个被忽视的治理新维度最近和几位在联合国相关机构以及国际智库工作的朋友聊天,话题总绕不开人工智能的全球治理。大家普遍感觉,现有的讨论框架,无论是像阿西洛马会议那样的行业自律倡议,还是大国间的双边…...

从1200米到丢包:RS485电路设计中那些容易被忽略的细节(匹配电阻、布线、共模电压)

从1200米到丢包:RS485电路设计中那些容易被忽略的细节 在工业自动化现场,RS485总线的稳定性往往决定着整个系统的可靠性。许多工程师都有这样的困惑:明明按照标准电路图设计,终端电阻也加了120Ω,为什么实际通信时还是…...

AI教育系统架构实战:从个性化学习到智能辅导与自动化评估

1. 项目概述:当AI走进课堂,我们到底在谈论什么?“AI驱动教育变革”这个标题听起来宏大,但落到一线教师、课程设计师或者教育科技产品经理的桌上,它立刻会分解成一系列具体而微、甚至有些棘手的问题。我在这行摸爬滚打十…...

SkyfireAI获1100万美元融资,推动无人机自主协同作战

一家致力于改变高风险场景下无人机操作方式的初创公司刚刚完成了新一轮融资,瞄准的正是行业内最棘手的难题之一:如何在不增加飞手数量的前提下,实现无人机规模化运营。SkyfireAI是一家专注于AI驱动无人机自主技术的美国公司,近日完…...

CANN/cann-samples 性能优化实践

Performance 【免费下载链接】cann-samples 算子领域高性能实战演进样例与体系化调优知识库 项目地址: https://gitcode.com/cann/cann-samples 最佳实践, 从Baseline到极致性能的调优实践。 grouped_matmul_story 分组矩阵乘性能优化专题,覆盖 grouped ma…...

可解释AI在流体力学中的应用:液滴撞击形态与飞溅预测分析

1. 项目概述:当AI遇见流体力学在流体力学和工业应用领域,液滴撞击固体或液体表面的现象无处不在。从喷墨打印的墨滴精准落点,到农药喷洒的雾化覆盖,再到发动机燃油的燃烧效率,甚至雨滴撞击土壤的侵蚀过程,其…...

嵌入式开发实战:用SecureCRT的Xmodem/Ymodem协议给STM32烧录固件(附完整流程)

嵌入式开发实战:SecureCRT结合Xmodem/Ymodem协议高效烧录STM32固件指南 在嵌入式系统开发中,固件烧录是每个工程师必须掌握的核心技能。面对市面上琳琅满目的烧录工具和协议,如何选择最适合STM32开发的方案?本文将深入探讨如何利用…...

CANN/sip BLAS公共接口

BLAS公共接口 【免费下载链接】sip 本项目是CANN提供的一款高效、可靠的高性能信号处理算子加速库,基于华为Ascend AI处理器,专门为信号处理领域而设计。 项目地址: https://gitcode.com/cann/sip 算子使用说明 若需使用BLAS算子,需先…...

CANN ops-fft算子开发快速入门

算子开发快速入门:基于ops-fft仓 【免费下载链接】ops-fft ops-fft 是 CANN (Compute Architecture for Neural Networks)算子库中提供 FFT 类计算的基础算子库,采用模块化设计,支持灵活的算子开发和管理。 项目地址…...

避坑指南:在CentOS7上为TensorFlow2.6搭建Python3.8环境,我踩过的那些‘依赖’雷

CentOS7实战:Python3.8与TensorFlow2.6环境搭建的七大深坑与突围指南 当你在CentOS7上尝试为TensorFlow2.6搭建Python3.8环境时,系统会以各种依赖缺失、版本冲突的方式给你"惊喜"。这不是简单的yum install就能解决的问题,而是一场…...

CANN/catccos AllGather反量化算子

AllGather矩阵乘法反量化算子设计文档 【免费下载链接】catccos CATCCOS昇腾计算-通信融合算子模板库,是一个聚焦于提供高性能计算通信融合类算子基础模板的代码库。 项目地址: https://gitcode.com/cann/catccos 1. 算子概述 1.1 功能描述 AllGather矩阵乘…...

律师上课记干货太吃力!2026年3款b站视频怎么转文字工具,1分钟导出整理办案笔记

做内容测评这么久,我发现不同人对视频转文字工具的需求差得真多:普通博主转口播只要能出字就行,学生转公开课只要能看懂,像律师整理上课干货、学术研究人员整理访谈讲座,最看重长音频处理能力和专业词汇识别&#xff0…...

CANN社区机器人能力列表

Robot 能力列表 【免费下载链接】infrastructure 本仓库用于托管CANN社区基础设施团队的公开信息,包括不限于:会议日程,成员信息,服务文档和配置等信息 项目地址: https://gitcode.com/cann/infrastructure 能力分类具体功…...

CANN/PTO-ISA自定义算子示例

Custom PyTorch Operator (KERNEL_LAUNCH) Example 【免费下载链接】pto-isa Parallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platf…...

从SPI到8080:一文搞懂MIPI DBI(Type C)如何驱动你的LCD屏并优化帧率

从SPI到8080:一文搞懂MIPI DBI(Type C)如何驱动你的LCD屏并优化帧率 当你拿到一块标称支持"MIPI DBI"的LCD屏幕时,可能会被这个专业术语吓到。但别担心,这类屏幕通常采用DBI Type C接口——它本质上就是SPI或…...

CANN/catlass 逐令牌反量化

Block Epilogue Per Token Dequant 【免费下载链接】catlass 本项目是CANN的算子模板库,提供NPU上高性能矩阵乘及其相关融合类算子模板样例。 项目地址: https://gitcode.com/cann/catlass 代码位置 功能说明 BlockEpilogue偏特化实现,使用perToke…...

2026届必备的六大降AI率助手实测分析

Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 要降低AIGC检测率,需从文本特征着手。首先,替换高频词汇&#xff0c…...

高德地图SDK避坑指南:离线地图下载失败的5个常见原因及解决方法

高德地图SDK避坑指南:离线地图下载失败的5个常见原因及解决方法 在移动应用开发中,离线地图功能对于需要在地理位置偏远或网络不稳定环境下运行的应用至关重要。高德地图SDK作为国内领先的地图服务提供商,其离线地图功能被广泛应用于各类Andr…...

CANN/cann-recipes-train:基于昇腾NPU的多轮工具调用代码强化学习

Code RL with Multi-Turn Tool Calling on Ascend NPUs 【免费下载链接】cann-recipes-train 本项目针对LLM与多模态模型训练业务中的典型模型、加速算法,提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-train Overview This…...

3分钟掌握微信聊天记录解密:WechatDecrypt让你的数据重获自由

3分钟掌握微信聊天记录解密:WechatDecrypt让你的数据重获自由 【免费下载链接】WechatDecrypt 微信消息解密工具 项目地址: https://gitcode.com/gh_mirrors/we/WechatDecrypt 想象一下这样的场景:你刚换了新手机,却发现珍贵的微信聊天…...

黑湖科技完成近10亿融资:要加速工业AI应用落地和全球扩张

雷递网 乐天 4月23日黑湖科技日前宣布完成近10亿元D轮融资,不过,黑湖科技并未公布投资方。黑湖科技称,本轮融资将主要用于加速工业AI应用落地和全球扩张,进一步推动AI与制造业真实业务场景的深度结合。黑湖科技创始人兼CEO 周宇翔…...

3个核心优势:阴阳师自动化脚本的智能解决方案

3个核心优势:阴阳师自动化脚本的智能解决方案 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师自动化脚本(Onmyoji Auto Script)是一款专…...

普渡机器人宣布融资近10亿:北汽产投与蓝思科技是投资方

雷递网 乐天 4月23日商用服务机器人领军企业普渡机器人日前宣布完成近10亿元新一轮融资,本轮融资后,公司估值突破百亿元。普渡机器人本轮融资由龙岗金控、亚投资本联合领投,北汽产投、蓝思科技、弘晖基金、珠三角与长三角等多地政府引导基金及…...