| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 15 天前 | ||
| 1 个月前 |
Matmul 算子开发教程
本教程将带你学习基于 Ascend C 的 Matmul 算子开发方法,围绕 Matmul 算子的核心概念、设计思路与开发流程展开详细讲解,涵盖 Blaze 编程范式、基础 Matmul 算子开发以及量化 Matmul 等典型场景,助力开发者掌握昇腾 NPU 上矩阵乘法算子的开发要点与实操技巧。
教程按章节划分,每个章节均包含以下内容:
- Notebooks:包含课程知识点与练习题,适用于自主学习或讲师引导式教学。
- SRC:包含课程中所有的源码,供开发者自行下载及修改。
- Answer:包含课后练习与实践的参考答案。
本教程当前仅针对 Ascend 950 系列产品进行验证,其它产品使用可能存在问题,欢迎开发者提出 Issue 或 PR 进行共建。
适用对象
- 具备 C/C++ 与 Python 基础,了解深度学习基本概念。
- 希望学习昇腾 NPU 算子开发,特别是 Matmul 相关算子的开发者。
学习目标
完成本教程后,你将能够:
- 理解 Matmul 算子在 NPU 上的计算原理与数据排布方式。
- 掌握 Blaze 编程范式与 API 的使用方法。
- 掌握基于 Ascend C / Blaze 开发 Matmul 算子的完整流程。
- 了解 Matmul 量化模式(如 MXFP8)的实现方法与性能优化思路。
软硬件配套说明
| 项目 | 要求 |
|---|---|
| 支持硬件 | Ascend 950 系列 |
| CANN 版本 | 9.0.0 及以上 |
| Python | 3.8 及以上 |
在线体验环境
本教程支持以下在线体验环境:
| 体验环境 | 镜像模板 / 版本 | 说明 |
|---|---|---|
| CANNLab 950 尝鲜体验环境 | cann_9.0.0-beta.2-py3.12-a5 | 参考 CANNLab 环境体验指南 创建 Ascend 950 环境并体验本教程。进入开发者空间后,建议将 CANN 套件升级至最新稳定版本。 |
章节目录
第一章:Matmul 基础算子开发
| Notebook | Link | 状态 |
|---|---|---|
| 1.1 章节介绍 | - | ✅ 已发布 |
| 1.2 首个 Matmul 样例运行 | - | ✅ 已发布 |
| 1.3 Blaze 编程范式 | - | ✅ 已发布 |
| 1.4 Blaze API 介绍 | - | ✅ 已发布 |
| 1.5 Blaze 基础 Matmul 算子开发 | - | ✅ 已发布 |
| 1.6 Matmul 量化模式与实现 | - | ✅ 已发布 |
| 1.7 基于 Blaze 的 Matmul 算子开发 | - | ✅ 已发布 |