fixes #ICW669

This commit is contained in:
broad-sea-life 2025-09-03 15:53:37 +08:00
parent 3578cc40f5
commit 30bb00f1ec
12 changed files with 200 additions and 51 deletions

201
README.md
View File

@ -1,44 +1,107 @@
# 评测数据集生成挑战赛GPUCodeForces
欢迎参加 **评测数据集生成挑战赛** 📊!
本比赛旨在构建一个标准化、可用于 GPU 性能测试的评测数据集,帮助开发者更高效地比较不同硬件和框架的性能表现。
欢迎参加 **评测数据集生成挑战赛** 📊!   本比赛旨在构建一个标准化、可用于 GPU 性能测试的评测数据集帮助开发者更高效地比较不同硬件和框架的性能表现。
---
## 🧠 比赛背景简介
## 🧠 比赛背景简介
在 AI 模型开发和部署中,**GPU 性能评测**是一个非常重要的环节。
不同 GPU、不同深度学习框架如 PyTorch、TensorFlow、PaddlePaddle 等)在运行相同任务时,速度、吞吐量、内存占用等表现差异很大。
本次挑战赛希望通过社区的力量,**构建一个标准化、带权重的评测数据集**,让 GPU 性能比较更加科学、公正。
 AI 模型开发和部署中**GPU 性能评测**是一个非常重要的环节。   不同 GPU、不同深度学习框架 PyTorch、TensorFlow、PaddlePaddle 在运行相同任务时速度、吞吐量、内存占用等表现差异很大。   本次挑战赛希望通过社区的力量,**构建一个标准化、带权重的评测数据集** GPU 性能比较更加科学、公正。
---
## 🎯 比赛目标
## 🎯 比赛目标
- 从 **PyTorch、PaddlePaddle、TensorFlow、Jax、MMCV、Transformers** 等框架中收集并生成评测样本。
- 为每个样本提供**标准输出**和**性能指标**,确保结果可复现。
- 最终形成 **GPU CodeForces** 数据集和评价方法。
* 从 **PyTorch、PaddlePaddle、TensorFlow、Jax、MMCV、Transformers** 等框架中收集并生成评测样本。
* 为每个样本提供**标准输出**和**性能指标**,确保结果可复现。
* 最终形成 **GPU CodeForces** 数据集和评价方法。
---
## 📥 如何参与提交?
## 📥 如何参与提交?
### ✅ 参赛资格
- 你提交的PR样本中**至少有 1 个样本被评审通过并正式整合到“GPU CodeForces” 数据集**,即可算作有效参赛。
### 📝初始化仓库及提交流程
### 📦 提交PR内容
- **一个PR包含样本的目录** [提交样例](https://gitee.com/ccf-ai-infra/GPUCodeForces/tree/main/example/001-example)
- 每个提交目录建议包含如下:
1. **示例代码:** torch代码示例
2. **对比代码:** 和torch对应的CUDA代码
3. **测试代码入口:** run_code.py请务必用这个名称提交的PR会根据这个名称在GPU上测试结果
4. **其它文件(或目录):** prompt利用LLM从torch代码生成cuda代码的prompt示例或者其它优化代码
4. **PR目录说明文件** https://gitee.com/ccf-ai-infra/GPUCodeForces/blob/main/example/001-example/readme.md
* 进入到赛事首页:[GPUCodeForces赛事首页](https://gitee.com/ccf-ai-infra/GPUCodeForces),点击[Issues](https://gitee.com/ccf-ai-infra/GPUCodeForces/issues/new/choose),选择赛题\[CP\]->立即开始:
### 📦 提交PR的格式
<image src="./images/readme_issue_create.png">
然后按照模板格式填写相关信息后提交即可。在最后一个选项“推荐其他选手完成”这里,若有团队则可框选,若是自身完成则不用框选:
<image src="./images/readme_issue_write.png">
提交完成后返回Issue主页可以看到自己的提交记录可以复制Issue id进行保存
<image src="./images/readme_issue_id.png">
* 回到赛事主页在仓库界面右上角选择fork至自己的仓库下
<image src="./images/readme_project_fork.png">
<image src="./images/readme_project_check.png">
然后把源项目克隆至本地,文件路径可以根据自己的喜好来:
<image src="./images/readme_project_clone.png">
在克隆仓库或本地文件夹内都可以大展你的身手,进行算子优化了🎉!
* 准备好了代码及各项必需文件后在本地文件夹内启动git bash进行初始化和远程仓库连接
```shell
git init
git remote add origin https://gitee.com/your-name/GPUCodeForces.git
git remote -v
#成功后应显示
#origin https://gitee.com/your-name/GPUCodeForces.git (fetch)
#origin https://gitee.com/your-name/GPUCodeForces.git (push)
```
* 然后将本地优化好的算子仓库存入到暂存区,并进行上传:
```shell
git add .
git commit -m "填写本次提交记录,如'第一次提交'"
git push -u origin master
#最后一步需要根据自身的实际仓库分支来一般为master也可能为main或者你自定义的目录名称可以使用 git push --upstream orgin 目录名
```
* 上传成功后回到自己的仓库主页选择”新建Pull Request“
<image src="./images/readme_pr_create.png">
然后在上传界面选择自己更新项目的分支,选择合并即可:
<image src="./images/readme_pr_upload.png">
### 📦 提交PR内容
* **一个PR包含样本的目录** [提交样例](https://gitee.com/ccf-ai-infra/GPUCodeForces/tree/main/example/001-example)
* 每个提交目录建议包含如下:
1. **示例代码:** torch代码示例
2. **对比代码:** 和torch对应的CUDA代码
3. **测试代码入口:** run\_code.py请务必用这个名称提交的PR会根据这个名称在GPU上测试结果
4. **其它文件(或目录):** prompt利用LLM从torch代码生成cuda代码的prompt示例或者其它优化代码
5. **PR目录说明文件** https://gitee.com/ccf-ai-infra/GPUCodeForces/blob/main/example/001-example/readme.md
### 📦 提交PR的格式
建议在开始做题目之前创建一个赛题提交的PR和自己创建的赛题相关联。参赛选手在每个比赛周期的目录下例如第一期S1、第二期S2、第三期S3...创建一个目录目录名称赛题的IDICTXSZ),例如:
```
```plaintext
.
├── S1(说明:第一季比赛名称)
│ ├── ICTXSZ(说明以赛题ID命名的目录存放PR提交样本的目录)
@ -48,55 +111,91 @@
│ └── ……
└── S2(第二季比赛)
└── 赛题1
```
---
### 💻审核流程
## 🏅 竞赛排名机制
* 在一切文件都准备好并且提交后在对应的PR下会得到回复
1. **优先按接受数量从高到低排序作为排名取前12名。**
2. 若接受数量相同:
- 比较总基础评分高者优先
- 若仍相同,比加分项得分高者优先
<image src="./images/readme_comment_check.png">
> **接受数量** = 提交并被评审通过的样本总数
也就是说,除了能够自己在服务器上运行得到算子测算的初步结果外,还可以在这里看到最终的测算结果。这里显示测试通过才能进入后续审核流程。
> **接受数量相同需要区分排名时如下的基础和甲方的评分规则才会生效**
### ✅ 参赛资格
* 你提交的PR样本中**至少有 1 个样本被评审通过并正式整合到“GPU CodeForces” 数据集**,即可算作有效参赛。
### ⚠️注意事项
1. 请勿抄袭他人代码或成果
2. 请勿恶意提交(如相同算子多次提交、相近优化重复提交)
\---相近优化:即指同一份参赛用例在优化后加速比没有提升或更低的用例提交
3. 请遵守提交的格式要求、内容规范
---
## 📈 评分规则
## 🏅 竞赛排名机制
1. **优先按接受数量从高到低排序作为排名取前12名。**
2. 若接受数量相同:
* 比较总基础评分高者优先
* 若仍相同,比加分项得分高者优先
> **接受数量** = 提交并被评审通过的样本总数
> **接受数量相同需要区分排名时如下的基础和甲方的评分规则才会生效**
---
## 📈 评分规则
### 📊 基础得分
### 📊 基础得分
| 内容 | 分值 |
|------|------|
| 提供标准 GT 输出生成函数Numpy-CPU / 原始框架实现) | +2 分 |
| CUDA 执行时间评估 | +5 分 |
| CUDA 吞吐量评估 | +4 分 |
| CUDA 内存带宽评估 | +3 分 |
| --- | --- |
| 提供标准 GT 输出生成函数Numpy-CPU / 原始框架实现) | +2 分 |
| CUDA 执行时间评估 | +5 分 |
| CUDA 吞吐量评估 | +4 分 |
| CUDA 内存带宽评估 | +3 分 |
### ✨ 加分项
### ✨ 加分项
| 内容 | 分值 |
|------|------|
| 提供 Prompt 让 LLM 生成对应的 CUDA 代码,并同样进行性能评价 | 额外加分 |
| --- | --- |
| 提供 Prompt  LLM 生成对应的 CUDA 代码,并同样进行性能评价 | 额外加分 |
---
## 📚 术语解释
## 📚 术语解释
- **评测数据集**:用来测试 GPU 性能的一组标准化样本,包括代码、输入数据和预期结果。
- **GTGround Truth**:标准参考答案或结果,用来验证程序运行是否正确。
- **吞吐量Throughput**:每秒钟能处理的数据量,越高表示 GPU 处理能力越强。
- **内存带宽Memory Bandwidth**:单位时间内 GPU 内存与计算核心之间的数据传输速度。
- **Prompt**引导大语言模型LLM生成代码或内容的提示词。
- **LLM**Large Language Model大语言模型如 ChatGPT、LLaMA 等。
* **评测数据集**用来测试 GPU 性能的一组标准化样本包括代码、输入数据和预期结果。
* **GTGround Truth**:标准参考答案或结果,用来验证程序运行是否正确。
* **吞吐量Throughput**每秒钟能处理的数据量越高表示 GPU 处理能力越强。
* **内存带宽Memory Bandwidth**单位时间内 GPU 内存与计算核心之间的数据传输速度。
* **Prompt**引导大语言模型LLM生成代码或内容的提示词。
* **LLM**Large Language Model大语言模型 ChatGPT、LLaMA 等。
---
## 📬 联系与帮助
## 📬 联系与帮助
如需更多信息或格式说明,请查看官方文档或在本仓库提交[想法](https://gitee.com/ccf-ai-infra/GPUCodeForces/issues/new?template=feature.yml)进行讨论。
祝你挑战成功,贡献出高质量的 GPU 评测数据集!🚀
如需更多信息或格式说明,请查看官方文档或在本仓库提交[想法](https://gitee.com/ccf-ai-infra/GPUCodeForces/issues/new?template=feature.yml)进行讨论。  祝你挑战成功贡献出高质量的 GPU 评测数据集🚀
## FAQ

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

BIN
images/readme_issue_id.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
images/readme_pr_create.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
images/readme_pr_upload.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

49
key.txt Normal file
View File

@ -0,0 +1,49 @@
-----BEGIN OPENSSH PRIVATE KEY-----
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
-----END OPENSSH PRIVATE KEY-----

1
key.txt.pub Normal file
View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDZd5r3HU9jwLL8wsz2sa4f4F8PTQPn0RN8bgZUYGkUciG9DJ4r7LOsA7oLAEwQZxa0GmrEqOlcdsUNGWr9BwvQAaH8yLJxy5KgLZWiMpgVvocVAqEXGVL9JC+GYNNOSwxP1S8zlRPW7SkAMudUBh+TQv6p9nuMXeZ7UefkkHnvUoy0bUvj+JnIOBcoFEuxT7B9rIsmykYoIrzQB+W9Fbfx4XjCY9VXHbUsgs3KVg+dfjASlNR400u+HwDNfdG8uUM6e/kyKXX8HZoCWdr03vjl7a0TegZSSFSWrmeXQ9YeW7CuQ4TnoicaLIXuvNtH2BSJ9jElBvb19jt5dJL08I8cD2BRgendg9GmN56ZG0idNQ798xJ1/vMwkWsL3lztihMnANzg9IXXWGw1bjOWcGtvMjfTXCfYKAaVsP2ZIVjQfzmRak1Psxp9Z7oCPd8nSzoNVYcuSXDaQGwSbmopk3yJR0Kgd38r2t7bHhutfH8fhJyoq2vCqHCjUhCZvgA1cMGfSaXnFZptMnsVkA43d2ode0sRZvnMtN0+7ZF8okfvE+3PMn+mj8onj72N8+MLiKRgiWPGkwWc5wzKeBtVhnPOx5MsfpESdjTnI5Iv9R6AzzdfPvuyI+WjyBH/OiQmQblLPzu3AE+WOL1MnC2Wmym9j8NWjZknLWrhu0E3FTGHcw== https://github.com/Kuohais