跳到正文
← 王镇宇的博客

Ascend C 学习计划

9 月 11 日 — 9 月 25 日 · 每天计划 3–4 小时。讲概念、动手写、做 review,再用测量验证判断。以 CANN 算子天梯赛作为实战训练平台。

起点已验证 · 9 月 10 日

910B4 / CANN 8.5.0:手写单核 Add,256 个 float32 全量校验通过,退出码 0。尚未测量性能。

可查看公开进度;打卡与记录由网站主人维护。

0 / 15已完成学习日

DAY 01

Tiling:把长输入分块

单核处理 4096 个 float32,UB 每块保持 256 个元素;解释偏移和缓冲复用依赖。

待学习
DAY 02

多核划分

将 Add 扩展到多核,解释各核区间,验证没有重复或遗漏。

待学习
DAY 03

尾块与对齐

处理非整除长度和小输入,全量检查边界,避免越界。

待学习
DAY 04

性能测量基线

建立预热与重复测量,区分核函数耗时、数据复制与端到端耗时。

待学习
DAY 05

队列、流水线与双缓冲

比较单缓冲和双缓冲;先验证正确性,再解释收益或退化。

待学习
DAY 06

Profiling 与带宽瓶颈

依据测量调整分块大小和核数,保留基线与对比记录。

待学习
DAY 07

向量算子与融合

从当前开放的天梯题中选向量算子,理解融合如何减少中间搬运。

待学习
DAY 08

Reduce 归约

实现基础归约,理解跨分块合并与数值误差。

待学习
DAY 09

归约优化与 shape 分类

对不同规模选择策略,记录每类测试点的耗时。

待学习
DAY 10

矩阵计算与 Cube

跑通 Matmul 基础示例,理解数据布局与主要优化参数。

待学习
DAY 11

天梯:提交正确基线

核实赛题、提交格式、精度标准和评分方式,保存平台反馈。

待学习
DAY 12

天梯:第一轮优化

针对弱测试点提出瓶颈假设,修改、测量并回归。

待学习
DAY 13

天梯:第二轮优化

调整分块、核数或算法,解释测试点的收益与退化。

待学习
DAY 14

稳定性与回归

覆盖边界输入,复现最佳成绩,检查性能和精度回退。

待学习
DAY 15

独立提交与复盘

独立完成修改、验证和提交,写清优化依据与下一步方向。

待学习

优化实验记录

记录基线耗时、瓶颈假设、修改内容、新耗时与回归结果。正确通过、性能提升、排名变化分别记录;实际赛题与评分规则以平台为准。