news 2026/5/9 12:59:24

CANN/graph-autofusion SuperKernel性能分析演示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/graph-autofusion SuperKernel性能分析演示

super_kernel 用例演示

【免费下载链接】graph-autofusionGraph-autofusion 是一个面向昇腾(Ascend)芯片的轻量级、解耦式组件集合,旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件,未来将持续开放更多自动融合相关模块。项目地址: https://gitcode.com/cann/graph-autofusion

用例功能

模型包含6个sk片段,部分sk相同复用缓存,部分多了可输入bias或option配置不同走在线编译

编译使用super_kernel和不使用super_kernel的模型,将性能数据输出

融合算子

使用如下with语句块(super_kernel),语句块内算子均被融合为一个超级Kernel进行计算

with torchair.scope.super_kernel("sk1"):

详细功能介绍见图内标定SuperKernel范围

执行命令

python3 superkernel_compare.py

预期执行结果

执行后打印显示success

execute sample success

在执行目录生成prof_result文件夹,目录如下,获取数据后对比耗时

prof_result ├── sk_model # 带superkernel结果 │ ├── localhost.localdomain_ascend_pt │ ├── PROF_* │ ├── mindstudio_profiler_output │ ├── op_statistic.csv # profiling数据 ├── no_sk_model # 不带superkernel结果 │ ├── localhost.localdomain_ascend_pt │ ├── PROF_* │ ├── mindstudio_profiler_output │ ├── op_statistic.csv # profiling数据

分别从两份op_statistic.csv表中得到如下数据 | OP_Type | Core Type | Total Time(us) | |--|--|--| | GroupedMatmul | MIX_AIC | 126.26 | | Transpose | AI_VECTOR_CORE | 90.02 | | MoeGatingTopK | AI_VECTOR_CORE | 68.32| |Tile | AI_VECTOR_CORE| 24.96 | | DequantSwigluQuant |AI_VECTOR_CORE | 24.18 | | ReduceMeanD | MIX_AIV| 16.36 | | ConcatV2D| AI_VECTOR_CORE| 14.9 | | ReduceMeanD | AI_VECTOR_CORE | 14.14 | | SplitVD |AI_VECTOR_CORE | 10.04 | | MatMul |AI_CORE | 6.26 | | Cast | AI_VECTOR_CORE|3.96 | | Data | AI_VECTOR_CORE| 3.3 | | StridedSliceD | AI_VECTOR_CORE |3.18 | | AutomaticBufferFusionOp |AI_VECTOR_CORE |1.66 | |no_sk_model|总耗时|407.54|

| OP_Type | Core Type | Total Time(us) | |--|--|--| |SuperKernel | MIX_AIC| 172.4| |Transpose |AI_VECTOR_CORE | 92.42| |Tile |AI_VECTOR_CORE |24.66 | |SuperKernel |MIX_AIV | 18.48| |ReduceMeanD |MIX_AIV | 16.34| |ConcatV2D |AI_VECTOR_CORE |14.74 | |ReduceMeanD | AI_VECTOR_CORE| 14.24| |SplitVD |AI_VECTOR_CORE |10.12 | |MatMul |AI_CORE | 8.6| |Cast |AI_VECTOR_CORE |4.08 | |Data |AI_VECTOR_CORE | 3.72| |StridedSliceD |AI_VECTOR_CORE |3.1 | |AutomaticBufferFusionOp |AI_VECTOR_CORE | 1.76| |sk_model|总耗时|384.66|

对比获得使用super_kernel融合算子的收益是5.61%

【免费下载链接】graph-autofusionGraph-autofusion 是一个面向昇腾(Ascend)芯片的轻量级、解耦式组件集合,旨在通过自动融合技术加速模型执行。 目前已开源 SuperKernel 组件,未来将持续开放更多自动融合相关模块。项目地址: https://gitcode.com/cann/graph-autofusion

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

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

CANN/pyasc双曲反余弦函数API文档

asc.language.adv.acosh 【免费下载链接】pyasc 本项目为Python用户提供算子编程接口,支持在昇腾AI处理器上加速计算,接口与Ascend C一一对应并遵守Python原生语法。 项目地址: https://gitcode.com/cann/pyasc asc.language.adv.acosh(dst: Loca…

作者头像 李华
网站建设 2026/5/9 12:58:35

CANNBot向量掩码约束

Vector Mask Constraints 【免费下载链接】cannbot-skills CANNBot 是面向 CANN 开发的用于提升开发效率的系列智能体,本仓库为其提供可复用的 Skills 模块。 项目地址: https://gitcode.com/cann/cannbot-skills Read this file when implementing or debug…

作者头像 李华
网站建设 2026/5/9 12:58:09

CANN/ops-tensor张量算子库

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

作者头像 李华
网站建设 2026/5/9 12:57:32

基于FPGA的医疗AI边缘计算:从模型轻量化到硬件部署实战

1. 项目概述:当AI遇上硬件加速最近几年,AI在医疗影像诊断领域的应用已经不是什么新鲜事,但大多数方案都跑在云端服务器或者高性能GPU上。我们团队当时接到了一个挺有意思的挑战:能不能把一套用于辅助诊断的智能检测系统&#xff0…

作者头像 李华
网站建设 2026/5/9 12:56:56

CANN/ge的AddResource API

AddResource 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、TensorFlow 前…

作者头像 李华
网站建设 2026/5/9 12:56:47

生活处处有小美好

平凡的生活,藏着数不尽的温柔与小美好。晨起一缕暖阳洒进窗台,吹散一夜慵懒;闲暇时泡上一杯清茶,静静放空思绪,抛开生活里的琐碎烦恼。走在街边能偶遇盛放的花草,晚风拂过带来阵阵清凉。不必追逐远方的繁华…

作者头像 李华