README.md

Introduction

面向昇腾 NPU 算子开发的入门指引,帮助开发者建立基本概念,补全从入门到精通的知识空缺。

本目录提供三个层次的学习路径,建议按顺序阅读:

示例 学习目标
npu_execution 理解算子从 Runtime 下发到芯片执行的完整链路,建立对任务调度、硬件初始化、计算执行的全局认知
vector_add 掌握 AscendC Vector Core kernel 的基本编程模型:数据搬运、向量计算、流水并行(DoubleBuffer),以及编译运行流程
matmul 掌握 AscendC Cube Core kernel 的基本编程模型:矩阵分块(Tiling)、Cube 指令调用,以及性能 profiling 方法

npu_execution

纯概念文档,无代码。拆解一个 NPU 算子从 PyTorch 调用到芯片执行所经历的完整链路。

vector_add

第一个动手示例。通过实现向量逐元素加法,学习 AscendC Vector Core kernel 的基本编程模型与编译运行流程。

vector_add_c_api

演示如何使用 Ascend C API(C语言风格接口)在 NPU 上编写简单的 Vector Core kernel,实现向量逐元素相加。入门级向量计算示例。支持架构:dav-2201。

matmul

Cube Core 入门示例。通过实现矩阵乘法,学习 AscendC Cube Core kernel 的基本编程模型与性能 profiling 方法。