文件最后提交记录最后更新时间
15 天前
1 个月前
README

Matmul 算子开发教程

本教程将带你学习基于 Ascend C 的 Matmul 算子开发方法,围绕 Matmul 算子的核心概念、设计思路与开发流程展开详细讲解,涵盖 Blaze 编程范式、基础 Matmul 算子开发以及量化 Matmul 等典型场景,助力开发者掌握昇腾 NPU 上矩阵乘法算子的开发要点与实操技巧。

教程按章节划分,每个章节均包含以下内容:

  • Notebooks:包含课程知识点与练习题,适用于自主学习或讲师引导式教学。
  • SRC:包含课程中所有的源码,供开发者自行下载及修改。
  • Answer:包含课后练习与实践的参考答案。

本教程当前仅针对 Ascend 950 系列产品进行验证,其它产品使用可能存在问题,欢迎开发者提出 Issue 或 PR 进行共建。

适用对象

  • 具备 C/C++ 与 Python 基础,了解深度学习基本概念。
  • 希望学习昇腾 NPU 算子开发,特别是 Matmul 相关算子的开发者。

学习目标

完成本教程后,你将能够:

  1. 理解 Matmul 算子在 NPU 上的计算原理与数据排布方式。
  2. 掌握 Blaze 编程范式与 API 的使用方法。
  3. 掌握基于 Ascend C / Blaze 开发 Matmul 算子的完整流程。
  4. 了解 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 算子开发 - ✅ 已发布