目录

Triton-Ascend 架构

Triton 简介

昇腾使能:Triton-Ascend + AscendNPU IR

Triton 算子开发范式

Triton kernel 开发

Triton kernel 调用

面向昇腾算子开发

Grid 设置与物理核匹配

昇腾硬件架构

性能优化

算子性能测试

数据类型调整

离散访存优化

访存调度优化

高性能样例:matmul

总结与展望


本节课将详解 Triton 在昇腾 NPU 上的适配与优化。前置课程为《Triton 练气术》,如果有需要的同学可以点击复习。

Triton-Ascend 架构

Triton 简介

Triton 是一种面向 GPU 的高效算子编程语言,其核心特点包括:

  • • 高效的并行计算模型

  • • 显式但高效的内存访问模型

  • • 简洁的 API 设计

昇腾使能:
Triton-Ascend + AscendNPU IR

图片

关键区别:
昇腾的 CMD 架构要求数据访问尽可能连续,而 GPU 架构对数据连续性要求相对宽松。

Triton 算子开发范式

图片

Triton kernel 开发

图片

Triton kernel 调用

图片

面向昇腾算子开发

Grid 设置与物理核匹配

图片

昇腾的并行基于物理核,与 GPU 不同:

  • • 推荐设置:Grid 大小应等于物理核数

  • • 原因:避免逻辑核数量超过物理核,减少调度开销

  • • 通过代码获取物理核数

图片

昇腾硬件架构

图片

性能优化

算子性能测试

图片

数据类型调整

图片

离散访存优化

图片

访存调度优化

图片

图片

图片

高性能样例:matmul

图片

图片

总结与展望

随着 Triton-Ascend 的不断成熟,更多算子被 Triton-Ascend 适配,昇腾 NPU 的算子开发将更加高效,昇腾平台的生态将更加丰富,为 AI 应用在昇腾平台上的部署提供强大支持。

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐