3.9 KiB
3.9 KiB
学习文档撰写说明
本文档指导你如何撰写 TileLang 学习文档。
写作形式
你可以根据自己的学习风格选择以下任一形式:
形式一:每个 Puzzle 一篇笔记
为每个完成的 Puzzle 撰写单独的笔记,记录:
- Puzzle 的核心知识点
- 解题思路和关键代码
- 遇到的问题及解决方法
适合人群: 喜欢详细记录、循序渐进的学习者
形式二:整体学习心得
完成所有练习后,撰写一篇综合性的学习总结:
- TileLang 整体学习感悟
- 核心概念的理解
- 从入门到进阶的心路历程
适合人群: 喜欢宏观思考、总结提炼的学习者
形式三:混合形式
结合以上两种形式:
- 简单 Puzzle 合并记录
- 复杂 Puzzle 单独深入分析
- 最后附整体学习感悟
适合人群: 灵活多变、按需记录的学习者
内容建议
基础内容
无论你选择哪种形式,建议包含以下内容:
-
学习背景
- 为什么学习 TileLang
- 学习目标
-
核心概念理解
- Tile 的概念和作用
- Kernel 的编写方式
- Schedule 的调度策略
-
实践记录
- 完成的 Puzzle 列表
- 关键代码片段
- 运行结果截图
-
问题与解决
- 遇到的困难
- 解决过程
- 经验总结
进阶内容(可选)
- 性能分析:对比不同实现的性能差异
- 源码阅读:阅读 TileLang 源码的心得
- 拓展思考:TileLang 与其他框架的对比
文档格式
文件命名
建议使用英文小写,单词间用 - 连接:
puzzle-01-notes.md # 单个 Puzzle 笔记
tilelang-learning-journey.md # 整体学习心得
my-tilelang-notes.md # 个人笔记
文档结构示例
单个 Puzzle 笔记示例
# Puzzle 01 - Copy 学习笔记
## 学习目标
理解 TileLang 中最基本的张量拷贝操作。
## 核心概念
### Tile 的概念
Tile 是 TileLang 中数据管理的基本单位...
### Copy 操作的实现
```python
# 关键代码
解题过程
第一次尝试
...
遇到的问题
...
最终方案
...
总结
通过本 Puzzle,我理解了...
#### 整体学习心得示例
```markdown
# TileLang 春节学习心得
## 学习背景
春节期间参加了 TileLang 算力入门挑战...
## 学习历程
### 第一阶段:环境搭建
...
### 第二阶段:基础 Puzzle
...
### 第三阶段:进阶挑战
...
## 核心收获
### 对 TileLang 的理解
TileLang 是一个... 它的核心优势在于...
### 对 GPU 编程的新认识
...
## 踩坑记录
### 坑一:...
解决方案:...
### 坑二:...
解决方案:...
## 未来计划
- 深入研究...
- 尝试优化...
## 结语
这个春节没有摆烂,收获满满!
提交要求
将学习文档提交到 spring_tilelang/submissions/YOUR_ID/ 目录:
spring_tilelang/
└── submissions/
└── YOUR_ID/
├── notes/ # 学习文档目录
│ ├── puzzle-01.md
│ ├── puzzle-02.md
│ └── summary.md
└── ...
写作建议
真实记录
- 记录真实的思考过程,不要只写正确答案
- 失败的尝试同样有价值
- 报错信息和解决方法可以帮助他人
图文并茂
- 适当插入代码片段
- 添加运行截图
- 可以画图解释概念
保持个性
- 用自己的语言表达
- 可以加入个人感悟
- 风格不限,真诚即可
注重实用
- 提供可运行的代码
- 给出具体的命令
- 分享实用的调试技巧
参考示例
以下是一些优秀的技术博客参考:
最后
写作是最好的学习方式。通过整理和输出,你会对 TileLang 有更深入的理解。
祝你写作愉快,学习进步!