forked from ccf-ai-infra/GPUKernelContest
74 lines
5.1 KiB
Markdown
74 lines
5.1 KiB
Markdown
# mcTileLang 算子任务文档(按 Level 分级)
|
||
## 一、前置说明
|
||
1. 文档参考:所有任务需遵循 mcTileLang 现有文档格式(可参考 `docs/deeplearning_operators` 下的 `matmul.md`、`elementwise.md`)。
|
||
2. 提交要求:所有交付物需提交至 mcTileLang 仓库(Gitee 地址:https://gitee.com/metax-maca/mcTileLang ),PR 需标注“Level X 任务提交”,Issue 需关联对应任务模块。
|
||
|
||
|
||
## 二、Level 1:基础验证类(5分,验证文档上限划10分,每个文档只有首次验证得分)
|
||
### 核心目标
|
||
熟悉 mc_tilelang 基础功能,验证现有文档的可复现性。
|
||
|
||
### 任务内容(二选一即可)
|
||
**注:每个文档仅限首次验证得分,重复验证同一文档不计分**
|
||
1. **算子文档验证**
|
||
- 选择 1 个已完成的算子文档(`matmul.md`/`elementwise.md`/`deepseek_mla.md`/`gemv.md`),按文档中的“使用示例”编写代码,确保能成功运行。
|
||
- 记录运行过程中的关键日志(如算子执行时间、输出结果),截图证明代码可复现,将截图提交至对应算子文档的 Gitee Issue(需注明“Level 1 验证”)。
|
||
2. **教程文档验证**
|
||
- 选择 1 个已完成的教程文档(`auto_tuning.md`/`debug_tools_for_tilelang.md`),按教程步骤操作(如 Auto-Tuning 参数配置、Debug 工具调用)。
|
||
- 记录操作中发现的问题(如缺失的依赖包、步骤描述模糊点),补充完整操作流程后,将“验证结果+补充建议+操作截图”提交至教程文档的 Gitee Issue。
|
||
|
||
|
||
## 三、Level 2:迁移优化类(10分)
|
||
### 核心目标
|
||
完成 CUDA 相关文档向 MACA 适配,实现补充算子说明文档。
|
||
|
||
### 任务内容(二选一或任选组合即可)
|
||
1. **文档迁移:CUDA 内容适配 MACA**
|
||
- 选择 1 个已完成的算子文档(如 `matmul.md`/`elementwise.md`),若文档中包含 CUDA 相关描述(如 CUDA 核函数、线程块配置),将其迁移为 MACA 编程对应的逻辑。
|
||
- 迁移要求:明确 CUDA 语法与 MACA 语法的映射关系,补充 MACA 版本后提交迁移后的文档 PR 至 `docs/deeplearning_operators`。
|
||
2. **教程迁移:MACA环境迁移**
|
||
- 选择在CUDA环境上进行解释和说明的文档,将其在MACA环境下进行同样的操作并将需要补充和说明的内容提交PR到对应的文档(如 `Installation.md`)。
|
||
|
||
|
||
## 四、Level 3:文档开发类(20分)
|
||
### 核心目标
|
||
编写未完成的算子文档,补充已有文档的 MACA 深度解析。
|
||
|
||
### 任务内容(二选一,需独立完成核心模块)
|
||
1. **未完成文档编写**
|
||
- 如从 5 个未编写的算子中选择 1个(`convolution.md`/`flash_attention.md`/`flash_linear_attention.md`/`matmul_dequant.md`/`tmac_gpu.md`),按与其他已有的算子文档结构编写文档:
|
||
- 算子功能:说明算子的应用场景(如卷积算子用于图像特征提取)、核心计算逻辑;
|
||
- 接口参数:列出输入(如输入张量形状、数据类型)、输出(如输出张量维度)、可选参数(如卷积核大小、步长);
|
||
- 使用示例:编写 mc_tilelang 调用代码(需基于 MACA 环境),包含数据构造、算子调用、结果验证;
|
||
- 性能说明:标注算子在指定设备(如 GPU 型号)下的推荐参数配置。
|
||
- 交付物:编写完成的算子文档,提交 PR 至 `docs/deeplearning_operators`。
|
||
2. **已有文档 MACA 解析补充**
|
||
- 选择 1 个已完成的算子文档(如 `matmul.md`),新增“MACA 编程解析”章节:
|
||
- 解析内容:包含算子的 MACA 内存布局设计(如张量的 `layout` 参数配置)、计算流程优化(如循环展开、数据分块);
|
||
- 代码示例:提供完整的 MACA 优化版算子代码(需包含注释),对比优化前后的性能差异。
|
||
- 交付物:补充后的文档 PR,需附代码运行截图证明优化效果。
|
||
|
||
|
||
## 五、Level 4:复杂开发类(50分)
|
||
### 核心目标
|
||
开发复杂融合算子或贡献示例代码,满足大模型推理等高阶需求。
|
||
|
||
### 任务内容
|
||
**example 文件夹代码贡献**
|
||
- 为 `mcTileLang/examples` 文件夹新增其他算子的完整使用案例。
|
||
- 案例要求:包含数据准备、算子调用、结果可视化(如打印特征图形状、注意力权重热力图)、性能分析代码,提交代码 PR 并附运行演示截图。
|
||
|
||
|
||
## 六、验证得分规则
|
||
- **Level 1 验证文档上限**:10分(每个文档首次验证得5分,后续重复验证不计分)
|
||
- **验证范围**:算子文档验证和教程文档验证均适用此规则
|
||
- **计分方式**:系统会自动识别文档验证记录,同一文档多次提交仅计算首次验证得分
|
||
|
||
## 七、交付物清单(按 Level 汇总)
|
||
| Level | 必交交付物 | 可选交付物 |
|
||
|-------|------------|------------|
|
||
| 1 | 验证截图、Issue 提交记录 | 补充的操作步骤文档 |
|
||
| 2 | 迁移后的文档 PR、验证截图 | 详细说明文档 |
|
||
| 3 | 未完成算子文档 PR / 补充 MACA 解析的文档 PR | 解析逻辑说明文档 |
|
||
| 4 | example 代码 PR | 结果输出和验证的图片 |
|