diff --git a/README.md b/README.md index f5fa7d7..fdc35d9 100644 --- a/README.md +++ b/README.md @@ -1 +1,116 @@ # GPUKernelContest +# GPU 算子优化挑战赛 + +欢迎参加 **GPU 算子优化挑战赛** 🎯! +本比赛旨在通过优化深度学习框架中的核心计算模块,提升大模型的运行效率。在本仓库中,你可以提交你的优化代码、测试样例和使用说明。 + +--- + +## 🧠 比赛背景简介 + +随着大语言模型(LLM, 如 ChatGPT 等)的广泛使用,其在运行推理时对计算资源的要求越来越高,出现了所谓的 “三高” 问题: + +- **高延迟**:响应慢 +- **高显存占用**:消耗大量显存 +- **高生态依赖**:对系统和软件依赖复杂 + +本次挑战赛正是为了解决这些问题,鼓励选手**优化 GPU 上的底层算子(即最基础的数学运算模块)**,提高模型推理效率。 + +--- + +## 🔧 挑战方向 + +本次挑战主要有两个技术方向: + +### 1. Test Time Scaling 算子优化 +- 对深度学习框架中的基础算子(如 PyTorch 或 PaddlePaddle 中的矩阵乘法)进行性能优化。 + +### 2. Gemm 内核极致优化 +- **GEMM(General Matrix Multiplication)** 是大模型中的核心计算操作。 +- 目标是对其内核(Kernel)进行精细调优,提高执行效率。 + +👉 **项目目标:在不更换硬件的前提下,让推理速度提升 30%!** + +--- + +## 📥 如何参与提交? + +### ✅ 参赛要求: +- 提交内容必须可以在沐曦自研 GPU **曦云 C500** 上运行。 +- 所提交的优化代码将由主办方审核,**需成功合并(Merge)到官方 Gitee 仓库,才算有效提交。** + +### 📦 提交内容包含: +- 算子优化后的代码 +- 可运行的测试用例 +- 使用说明文档 + +--- + +## 📈 评分机制 + +每次提交会按以下规则评分: + +### 🎯 基础得分(Level): +| 等级 | 内容描述 | 分值 | +|------|----------|------| +| Level 1 | 优化一个 PyTorch / Paddle 算子 | 5 分 | +| Level 2 | 融合优化 2~9 个算子 | 10 分 | +| Level 3 | 含 MMA(多维矩阵乘)融合算子 | 50 分 | +| Level 4 | 用于大模型推理的复杂融合算子 | 50 分 | +| 合并至沐曦正式项目仓库 | - | 50 分 | + +### ✨ 加分项: +| 内容 | 分值 | +|------|------| +| 代码规范、清晰 | +10 分 | +| 性能优化明显 | +10 分 | +| 记录优化过程、说明模型来源 | +20 分 | +| 使用 LLM Prompt 自动生成代码及样例 | +20 分 | + +--- + +## 🏅 排名规则 + +- 比赛周期:2 个月 +- 排名按累计得分排序,取前 12 名! + +若得分相同: +1. 提交次数多者优先 +2. 提交时间早者优先 + +--- + +## 📚 官方参考项目仓库 + +你可以参考以下项目仓库,了解算子开发与提交格式: + +- [FlashMLA](https://github.com/MetaX-MACA/FlashMLA) +- [mcTVM](https://github.com/MetaX-MACA/mcTVM) +- [mcEigen](https://github.com/MetaX-MACA/mcEigen) +- [mcPytorch](https://github.com/MetaX-MACA/mcPytorch) + +--- + +## 🖥️ 可用资源 + +- 沐曦曦云 **C500 GPU 单卡**(支持图形显示 + 性能评估) + +--- + +## 💡 术语解释 + +- **算子(Operator)**:指深度学习框架中的基本计算模块,例如矩阵乘法、卷积等。 +- **GEMM**:全称 General Matrix Multiplication,一种用于矩阵计算的核心算法,是大模型中的基础运算。 +- **MMA**:Matrix Multiply-Accumulate,多维矩阵乘加运算,适用于复杂计算加速。 +- **LLM**:Large Language Model,大语言模型,如 GPT、BERT 等。 +- **推理(Inference)**:模型训练完成后,用来“预测”或“使用”的过程。 +- **Prompt**:用于引导大模型生成特定内容的输入提示词。 +- **PR(Pull Request)**:在 Git 仓库中提交你的修改请求,供维护者审查后合并。 + +--- + +## 📬 联系与帮助 + +如需帮助或有疑问,请联系主办方或在项目中发起 Issue。 + +祝你挑战顺利,优化出更快的大模型推理体验!🚀