GPUCodeForces/GPUCodeForces赛题入门.md

88 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# GPUCodeForces赛题入门
## 🚀 一、背景介绍
在 AI 模型训练与推理的世界里,“性能”就是生产力。
不同品牌、架构的 GPU在不同深度学习框架中运行同样的任务时往往会出现令人惊讶的差异
- 有的显卡在 TensorFlow 上快如闪电,在 PyTorch 上却慢半拍;
- 有的框架吞吐惊人,但显存消耗巨大;
- 有的 GPU 一旦切换精度或 batch size性能瞬间翻倍。
这些性能差异长期存在,却缺乏一个「公正、标准、可复现」的评测体系。
于是,我们发起了这场挑战赛:
用社区的力量,一起构建一个开放的 GPU 性能评测数据集,让每块 GPU、每个框架都能有真实可对比的「成绩单」。
## 🎯 二、赛题目标
本次挑战的目标是:
1. 收集并生成评测样本 —— 从主流框架PyTorch、PaddlePaddle、TensorFlow、JAX、MMCV、Transformers 等中提取典型任务如分类、检测、生成、NLP 推理等);
2. 为每个样本生成标准输出与性能指标 —— 包括运行时间、精度对齐结果、加速比(实际评估指标远不止这些,此为本次比赛评测范围);
3. 形成可复现的 GPU CodeForces 数据集 —— 用统一格式记录代码、框架、显卡型号与性能结果,让 GPU 性能比较更科学、更透明。
## ⚙️ 三、为什么要做这件事?
•💬 统一标准:不同平台、不同框架的性能指标不再“各说各话”;
•🔍 科学对比:用户可以真正知道哪种框架组合最适合自己的硬件;
•🧩 数据复现:所有样本都能被社区成员在相同条件下复现;
•🏆 公开榜单:最终形成一个持续更新的 GPU 性能排行榜。
## 🧩 四、选手的任务内容
参赛者需要:
1. 从指定或自选框架中挑选典型任务如图像分类、Transformer 推理等);
2. 编写或复用性能测试脚本,确保能在不同 GPU 上运行;
3. 收集运行结果(速度、显存占用、吞吐量等),并输出统一格式的数据样本;
4. 将样本上传至平台形成标准化的「GPU CodeForces 数据集」。
简单来说你的任务就是让「GPU 跑起来、测出来、比起来」。
## 🧮 五、第一步怎么开始
### 别慌你不需要搭一个复杂的AI实验室。
你可能会想“要有一块能跑深度学习的GPU再装好一个主流框架才能开始”但实际上这一步也能为你省去。这里[模力方舟](https://ai.gitee.com/compute)就有已经配置好所需环境且带有强劲GPU的云算力服务器本次比赛「免费使用」。
### 代码也不需要从零开始写
在仓库中我们提供了几个基础脚本自己看或者让AI帮你分析都可以~你只需要改一改,跑一跑,就能提交结果。
启动比赛提供的云算力平台后,在终端中输入以下指令:
```
git clone https://gitlink.org.cn/ccf-ai-infra/GPUCodeForces.git
cd example/001-example
python run_code.py
```
这段代码会自动跑一个小模型并输出结果:
```
Loading extension module relu...
-------------------- 精度对齐验证 --------------------
✅ 精度对齐:两个模型的输出结果非常接近。
-------------------- 性能加速比测试 --------------------
PyTorch torch.relu 平均执行时间: 0.000006 秒
自定义 CUDA 内核 平均执行时间: 0.000017 秒
加速比 (Speedup): 0.35x
```
恭喜🎊这就代表你已经跑了你的第一个性能样本。后续,无论你是「调参、改算法」,只要能跑出来并测试通过,那么就算一次成功的提交!
### 想进阶?你可以这样玩
如果你足够熟悉Python可以进一步
- 修改batch size、模型结构、输入分辨率等等看性能变化
- 换用不同框架如TensorFlow、Paddle对比结果
- 充分规划你代码内各子任务计算任务资源使用将GPU性能最大化发挥
👉你不需要像写论文那样创一个新模型,也不用理解优化的底层逻辑,只要能跑就能贡献数据。
👉你也可以完全有自己的想法,认为有一些模型在你的思路下可以更优化,那么可以放到评测体系中,看看结果到底怎么样,同样能跑通就能贡献数据。
无论你选择哪种方式,我们都有相对公平的评分规则,你可以尽情跑、尽情想,怎样都行得通,这就是这个挑战的魅力所在。
## 📧加入社区,边学边玩
加入官方交流群[下方二维码](https://www.gitlink.org.cn/zone/Infra/newdetail/1075)或者在对应赛道下的Issue板块与我们积极交流
- 问题有人答
- 每周都有榜单更新
- 还能看到别人分享的“加速黑科技”
我们希望这场挑战不仅是测评,更是一次:
🔧「全民GPU训练营」——让每个人都能轻松了解性能优化的乐趣。