logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

从零构建高性能 AI 算子:Ascend C 实战指南与性能调优秘

在 AI 模型部署中,(如 MatMul、Conv、LayerNorm)。这些“热点算子”的性能直接决定了整个系统的吞吐与延迟。对于昇腾芯片而言,即使使用 MindSpore 自带的算子库,某些特殊 shape 或融合逻辑仍需自定义实现。Ascend C 正是为此而生。本文将带领读者从零开始,逐步构建多个典型 AI 算子(包括 GEMM、Softmax、LayerNorm、Attention),并

文章图片
#人工智能
深入解析 Ascend C:面向昇腾 AI 芯片的高性能异构编程语

如 Swish、GELU 等非标准激活函数,可通过 Ascend C 高效实现。

文章图片
#c语言#人工智能#开发语言
深入浅出 Ascend C:昇腾 AI 芯片的原生编程语言详解

我们以为例,展示完整开发流程。// 每个核处理的数据量// 初始化 Pipe// 分配 UB 内存// 计算当前核的起始偏移// 数据搬入// 执行 ReLU: max(0, x)// 数据搬出。

文章图片
#c语言#人工智能#开发语言
深入理解 Ascend C:华为昇腾AI芯片的高性能编程语言全解

以Host 端准备注册算子;计算 Tiling 策略(均值、方差、归一化分三阶段);Device 端 Kernel第一阶段:计算均值(reduce sum);第二阶段:计算方差;第三阶段:归一化 + scale + bias。优化技巧使用 Vector 单元的vreduce指令加速求和;双缓冲处理输入/输出;FP16 计算 + FP32 累加避免精度损失。实测在 Atlas 910B 上,Asce

文章图片
#c语言#华为#人工智能
Ascend C 高级优化实战:从 Tiling 到流水线并行

2025年昇腾CANN训练营第二季,基于CANN开源开放全场景,推出0基础入门系列、码力全开特辑、开发者案例等专题课程,助力不同阶段开发者快速提升算子开发技能。获得Ascend C算子中级认证,即可领取精美证书,完成社区任务更有机会赢取华为手机,平板、开发板等大奖。由于 UB 容量有限(如 1MB),无法一次性加载整个张量,必须将其切分为小块(Tile)。在上一篇文章中,我们了解了 Ascend

文章图片
#c语言#开发语言
深入理解 Ascend C:面向昇腾 AI 芯片的高性能编程语言全解析

随着人工智能技术的飞速发展,专用 AI 芯片逐渐成为支撑大模型训练与推理的核心基础设施。华为昇腾(Ascend)系列 AI 芯片凭借其高算力、高能效比和软硬协同优化能力,在国产 AI 芯片生态中占据重要地位。然而,要充分发挥昇腾芯片的性能潜力,仅依赖高层框架(如 MindSpore、PyTorch)是远远不够的——底层计算核心仍需高度定制化的算子实现。为此,华为推出了—— 一种专为昇腾 AI 芯片

文章图片
#c语言#人工智能#开发语言
深入解析 Ascend C:面向昇腾 AI 芯片的高性能异构编程语

如 Swish、GELU 等非标准激活函数,可通过 Ascend C 高效实现。

文章图片
#c语言#人工智能#开发语言
深入解析 Ascend C:面向昇腾 AI 芯片的高性能异构编程语

如 Swish、GELU 等非标准激活函数,可通过 Ascend C 高效实现。

文章图片
#c语言#人工智能#开发语言
深入理解 Ascend C:华为昇腾AI芯片的高性能编程语言全解

以Host 端准备注册算子;计算 Tiling 策略(均值、方差、归一化分三阶段);Device 端 Kernel第一阶段:计算均值(reduce sum);第二阶段:计算方差;第三阶段:归一化 + scale + bias。优化技巧使用 Vector 单元的vreduce指令加速求和;双缓冲处理输入/输出;FP16 计算 + FP32 累加避免精度损失。实测在 Atlas 910B 上,Asce

文章图片
#c语言#华为#人工智能
    共 24 条
  • 1
  • 2
  • 3
  • 请选择