logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Ascend C 融合算子设计与实现VV+CV

摘要: 融合算子是通过整合多个基础算子形成的单一计算单元,可消除冗余数据搬移,提升深度学习模型效率。昇腾架构下的融合算子分为VV融合(Vector单元间)和CV融合(Cube与Vector单元间)。VV融合通过减少中间数据读写降低耗时,CV融合则实现跨单元流水线并行计算。实验仿真显示,VV融合可显著减少执行时间,CV融合通过分块流水线并行大幅提升矩阵运算效率。文中以平方差融合算子为例,详细介绍了H

#算法
Ascend C 融合算子设计与实现VV+CV

摘要: 融合算子是通过整合多个基础算子形成的单一计算单元,可消除冗余数据搬移,提升深度学习模型效率。昇腾架构下的融合算子分为VV融合(Vector单元间)和CV融合(Cube与Vector单元间)。VV融合通过减少中间数据读写降低耗时,CV融合则实现跨单元流水线并行计算。实验仿真显示,VV融合可显著减少执行时间,CV融合通过分块流水线并行大幅提升矩阵运算效率。文中以平方差融合算子为例,详细介绍了H

#算法
Ascend C 算子工程实战(二)——VV融合SquareDiff算子全流程落地

摘要 本文以昇腾AI芯片上的自定义算子开发为核心,聚焦二元向量融合算子$(x+y)(x-y)$(SquareDiff)的完整实现过程。研究基于CANN 9.0.0开发体系,系统性地阐述了从IR定义、工程自动化生成、Host侧规则开发到AICore核函数实现的完整链路。重点剖析了Host侧在算子注册、张量推导和硬件分片调度中的关键作用,纠正了"Host仅做算子注册"的常见认知偏差。通过分层开发模式(

Ascend C 算子工程实战(二)——VV融合SquareDiff算子全流程落地

摘要 本文以昇腾AI芯片上的自定义算子开发为核心,聚焦二元向量融合算子$(x+y)(x-y)$(SquareDiff)的完整实现过程。研究基于CANN 9.0.0开发体系,系统性地阐述了从IR定义、工程自动化生成、Host侧规则开发到AICore核函数实现的完整链路。重点剖析了Host侧在算子注册、张量推导和硬件分片调度中的关键作用,纠正了"Host仅做算子注册"的常见认知偏差。通过分层开发模式(

Ascend C 算子工程实战(一):Matmul 自定义算子全流程开发教程

本模块代码用于向 GE 计算引擎完成算子身份注册,全局约束算子全部输入、输出参数的必填属性、支持数据类型、张量存储格式与适配硬件型号,同时完成形状推导、分片回调函数绑定,是算子能够被编译框架识别的核心入口。给定三组 64 位整数 a、b、p,求解表达式 (a × b) mod p 的计算结果。存在 5×5 规格方阵,共计 25 盏受控灯具,单盏灯具开关切换会同步翻转自身与上下左右相邻灯具状态,边界

#人工智能#linux#数据库
Ascend C 算子工程实战(一):Matmul 自定义算子全流程开发教程

本模块代码用于向 GE 计算引擎完成算子身份注册,全局约束算子全部输入、输出参数的必填属性、支持数据类型、张量存储格式与适配硬件型号,同时完成形状推导、分片回调函数绑定,是算子能够被编译框架识别的核心入口。给定三组 64 位整数 a、b、p,求解表达式 (a × b) mod p 的计算结果。存在 5×5 规格方阵,共计 25 盏受控灯具,单盏灯具开关切换会同步翻转自身与上下左右相邻灯具状态,边界

#人工智能#linux#数据库
Ascend C 算子实战(一)|二元逐元素算子 AddCustom + SubCustom 完整开发指南

全系列算子通用执行链路:初始化设备 → 创建异步任务流 <<<>>> 启动核函数 → stream同步等待计算结束 → 销毁流/重置设备/释放ACL后续 Add、Sub 算子仅在此基础上增加张量内存分配、分片参数传递、GM 与 LocalTensor 数据搬运、核内数学计算模块。BUFFER_NUM 代表队列内部缓存的 LocalTensor 数量,取值 2 实现双缓冲流水线:一块本地缓存正在执行

Ascend C 算子实战(二)|SigmoidCustom 逐元素激活算子完整开发指南

Init分片初始化 → Process循环调度 → CopyIn/Compute/CopyOut,单输入 / 双输入算子框架完全通用,仅增减输入队列与计算 API;掌握 Ascend C 基础数学算子串联:Muls 标量乘、Exp 指数、Adds 标量加、Duplicate 填充、Div 逐元素除法;理清 Host-Device 内存交互完整链路:锁页内存申请、显存分配、双向拷贝、同步等待、资源释

#算法
古法编程实战|从零手写Ascend C 加减自定义算子(Add/Sub/Div)

本文介绍了Ascend C自定义算子开发的入门教程,通过实现逐元素加法算子AddCustom,详解了开发流程。主要内容包括: 基础环境搭建 展示最简HelloWorld核函数示例 介绍设备初始化、流调度、资源释放的基础流程 加法算子实现 定义分片参数结构体管理数据分布 采用面向对象思想封装KernelAdd类 实现Init初始化、Process核心流程 完成CopyIn、Compute、CopyO

So simple and Innocent

这篇文章摘要如下: 本文介绍了在Ascend平台上的两种核函数编程实例。第一部分展示了一个简单的"Hi Ascend"核函数,演示了基本设备初始化和核函数调用流程。第二部分详细讲解了一个逐元素加法核函数实现,包含完整代码结构:定义了Buffer数量、Tiling数据结构、KernelAdd类及其成员函数(Init初始化、Process处理流程、CopyIn数据加载、Compute计算、CopyOu

    共 20 条
  • 1
  • 2
  • 请选择