logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

昇腾CANN的FlashAttention模板:catlass让算子开发省力80%

之前我帮同事优化一个BERT推理服务,attention部分怎么调都卡在显存瓶颈上。后来接触到catlass这个仓库,才发现昇腾NPU上有现成的FlashAttention模板可以用——不用从零写算子,改改参数就能跑。效果立竿见影:显存降了70%,延迟直接腰斩。

文章图片
昇腾CANN的FlashAttention模板:catlass让算子开发省力80%

之前我帮同事优化一个BERT推理服务,attention部分怎么调都卡在显存瓶颈上。后来接触到catlass这个仓库,才发现昇腾NPU上有现成的FlashAttention模板可以用——不用从零写算子,改改参数就能跑。效果立竿见影:显存降了70%,延迟直接腰斩。

文章图片
昇腾CANN的FlashAttention:让大模型推理快3倍的秘密武器

刚接触大模型推理那会儿,我盯着显存占用曲线发愁——attention算子的显存开销跟序列长度成平方关系,处理4096个token就要吃掉几十GB显存。直到我在昇腾NPU上跑通了ops-transformer仓库里的FlashAttention,才发现原来attention可以这么算。

文章图片
昇腾CANN的FlashAttention:让大模型推理快3倍的秘密武器

刚接触大模型推理那会儿,我盯着显存占用曲线发愁——attention算子的显存开销跟序列长度成平方关系,处理4096个token就要吃掉几十GB显存。直到我在昇腾NPU上跑通了ops-transformer仓库里的FlashAttention,才发现原来attention可以这么算。

文章图片
昇腾CANN的FlashAttention:让大模型推理快3倍的秘密武器

刚接触大模型推理那会儿,我盯着显存占用曲线发愁——attention算子的显存开销跟序列长度成平方关系,处理4096个token就要吃掉几十GB显存。直到我在昇腾NPU上跑通了ops-transformer仓库里的FlashAttention,才发现原来attention可以这么算。

文章图片
Ascend C 全面解析:从零构建昇腾 NPU 高性能自定义算子

实现 C=A+B,其中 A、B、C 为一维 float32 张量,长度为 N。

文章图片
#c语言#人工智能#开发语言
Ascend C 入门与核心编程模型详解

Ascend C 并非一门全新的编程语言,而是对 C++ 的扩展贴近硬件:提供对昇腾 NPU 计算单元(如向量计算单元 Vector Core、矩阵计算单元 Cube Unit)的直接控制;高吞吐低延迟:通过显式内存管理与流水线调度,最大化数据吞吐与计算效率;可移植性:支持在昇腾 910/310 等不同型号芯片上运行,同时兼容 Host(CPU)与 Device(NPU)协同编程。Ascend C

文章图片
#c语言#开发语言
Ascend C 高级优化技巧:实现极致性能的卷积算子

在上一篇文章中,我们学会了如何用 Ascend C 编写一个简单的 Add 算子。然而,真实 AI 模型中的性能瓶颈往往集中在。理想卷积的 Arithmetic Intensity(AI)应 > 170 FLOPs/Byte 才能计算受限。:重排通常在 Host 端预处理完成,避免 Kernel 中重复计算。等核心技巧,助您将算子性能提升至接近硬件理论峰值。本文将深入 Ascend C 的高级优化

文章图片
#c语言#开发语言
Ascend C 入门实战:从零构建昇腾 AI 加速算子

Ascend C 是华为为昇腾 AI 处理器(如 Ascend 910B)量身打造的领域特定语言(DSL),基于 C++17 标准扩展而来。它并非独立语言,而是一套编译器指令 + 运行时库 + 开发工具链的集合,目标是让开发者以接近 C 的语法,高效利用昇腾芯片的AI Core(计算核心)资源。静态单赋值(SSA)风格编程模型显式内存管理(Global/Local Memory)向量化与张量化指令

文章图片
#c语言#人工智能#开发语言
    共 16 条
  • 1
  • 2
  • 请选择