docs: update flashinfer 文档项目描述

This commit is contained in:
MaseChen 2026-07-12 19:50:30 -07:00
parent b207cc5501
commit 97ff737c87
1 changed files with 15 additions and 16 deletions

View File

@ -2,7 +2,7 @@
## 1. 教程定位
本教程是赛题二 FlashInfer 任务的 “benchmark 性能基线与 XPU-OJ 提交衔接” 模块,主要帮助学员跑通目标算子的 benchmark 脚本,理解原库 API、输入输出结构、性能指标和性能基线结果并进一步读懂 XPU-OJ 题目中的接口约定、测试数据、参考输出和精度要求。
本教程是 **沐曦 - 揭榜挂帅 - Agent推理算子库优化 - FlashInfer任务** 的 “benchmark 性能基线与 XPU-OJ 提交衔接” 模块,主要帮助学员跑通目标算子的 benchmark 脚本,理解原库 API、输入输出结构、性能指标和性能基线结果并进一步读懂 XPU-OJ 题目中的接口约定、测试数据、参考输出和精度要求。
需要特别说明:
@ -224,7 +224,7 @@ XPU-OJ 账号由组委会统一发放,参赛者无需自行注册。
> - OJ 榜单分数与比赛最终得分属于不同分值体系。OJ 内部以各算子 baseline 为 50 分基准、硬件理论上限约 100 分;比赛性能部分满分 60 分,按排名映射;
> - FlashInfer 方向包含多个子任务,任选一种或多种提交,各子任务独立计分,取通过正确性和稳定性测试的最高成绩参与排名;
> - FlashInfer 方向包含多个子任务,任选一种或多种提交,各子任务独立计分,取通过正确性和稳定性测试的最高成绩参与排名,即 **FlashInfer 任务分数 = max{子题1分数, ..., 子题4分数}**
> - 组委会对提交内容严格审查,严禁抄袭,一经发现取消成绩。
## 5. 知识预备
@ -489,14 +489,14 @@ else:
**选择目标题目**
FlashInfer 方向包含 **4 个可选算子题目**,每个对应独立的 benchmark 脚本、题目说明、`run_kernel(...)` 接口和数据范围。
FlashInfer 方向包含 **4 个可选算子题目**均属于同一比赛通道,**FlashInfer 任务分 = max{各子题得分}**。每个对应独立的 benchmark 脚本、题目说明、`run_kernel(...)` 接口和数据范围。
| OJ 题号 | 算子类型 | 核心特点 | Benchmark 脚本 | FlashInfer API |
| OJ 题号 | OJ 题目名称 | 核心特点 | Benchmark 脚本 | FlashInfer API |
|---------|---------------|----------------|----------|----------|
| **20001** | Ragged Prefill | GQA布局Q/K/V平坦存储causal=1 | `bench_batch_prefill_ragged.py` | `BatchPrefillWithRaggedKVCacheWrapper` |
| **20002** | Paged Prefill | KV Cache分页存储需解析page table | `bench_batch_prefill_paged.py` | `BatchPrefillWithPagedKVCacheWrapper` |
| **20003** | MLA Paged Attention | DeepSeek MLA特有双路Q(nope+pe)/双路Cache(ckv+kpe) |`bench_batch_mla.py` | `BatchMLAPagedAttentionWrapper` |
| **20004** | Paged Decode | 每次只1个query tokenmemory-bound |`bench_batch_decode.py` | `BatchDecodeWithPagedKVCacheWrapper` |
| **20001** | FlashInfer Ragged Prefill | GQA布局Q/K/V平坦存储causal=1 | `bench_batch_prefill_ragged.py` | `BatchPrefillWithRaggedKVCacheWrapper` |
| **20002** | FlashInfer Paged Prefill | KV Cache分页存储需解析page table | `bench_batch_prefill_paged.py` | `BatchPrefillWithPagedKVCacheWrapper` |
| **20003** | FlashInfer MLA Paged Attention | DeepSeek MLA特有双路Q(nope+pe)/双路Cache(ckv+kpe) |`bench_batch_mla.py` | `BatchMLAPagedAttentionWrapper` |
| **20004** | FlashInfer Paged Decode | 每次只1个query tokenmemory-bound |`bench_batch_decode.py` | `BatchDecodeWithPagedKVCacheWrapper` |
**每个子题的接口参数、数据范围和精度要求以对应题目说明为准。** 下文以题目 **20001 Flashinfer Ragged Prefill** 为例演示从 benchmark 到 XPU-OJ 提交的完整流程。
@ -595,17 +595,17 @@ FlashInfer 方向包含 **4 个可选算子题目**,每个对应独立的 benc
#### Step 7登录 XPU-OJ 并进入题目页面
使用组委会统一发放的账号登录 XPU-OJ进入对应赛题页面
使用组委会统一发放的账号登录 XPU-OJ在 XPU-OJ 上找到比赛 **沐曦 - 揭榜挂帅 - Agent推理算子库优化 - FlashInfer任务**,进入后可见 4 个题目
1. 打开 [*XPU-OJ*](https://xpuoj.com/) 平台,使用组委会统一发放的账号和初始密码登录 **【后续发布】**
![OJ](https://origin.picgo.net/2026/06/16/image-20260616152804368aa0d44b72c4f9572.png)
2. 登录后进入比赛 / 题目列表页面
2. 登录后进入比赛列表,找到 **沐曦 - 揭榜挂帅 - Agent推理算子库优化 - FlashInfer任务**
![OJ-2](https://origin.picgo.net/2026/06/16/image-20260616152953345986ce39fda69da55.png)
3. 找到对应题目,例如 **20001 FlashInfer Ragged Prefill**
3. 找到对应题目,例如 **Agent推理算子库优化 - FlashInfer 任务 - FlashInfer Ragged PrefillOJ 题号 20001**
![OJ-3](https://origin.picgo.net/2026/06/16/image-202606161531423833b0f0428edf2e35e.png)
@ -808,7 +808,7 @@ FlashInfer 方向包含 **4 个可选算子题目**,每个对应独立的 benc
**查看所有测试用例结果:**
OJ 平台每次提交会评测所有测试用例,每个测试用例返回一组独立的 SPJ Report。建议将各组结果整理成表格方便跟踪优化进展
OJ 平台每次提交会评测所有测试用例,每个测试用例返回一组独立的 SPJ Report。每个子题独立计分FlashInfer 任务总分取各子题得分的最高值。建议将各组结果整理成表格,方便跟踪优化进展:
| 测试点 | batch | total_q | Baseline | User kernel | Speedup | Score | Pass |
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
@ -855,15 +855,14 @@ FlashInfer 方向包含 **4 个可选算子题目**,每个对应独立的 benc
3. 榜单查看 — 如何阅读排行榜
排行榜位于 XPU-OJ 比赛页面,展示各参赛者在每个题目的 OJ 内部得分。请注意:**OJ 榜单中各题的分数与比赛最终得分不是同一体系。** 比赛最终成绩中,性能提升效果仅取你得分最高的一个任务,按该任务的 OJ 排名换算(详见 [*4.5 评分规则概要*](#45%20评分规则概要))。
排行榜位于 XPU-OJ 比赛 **沐曦 - 揭榜挂帅 - Agent推理算子库优化 - 排行榜** 页面,展示各参赛者在每个题目的 OJ 内部得分。请注意:**OJ 榜单中各题的分数与比赛最终得分不是同一体系。** 比赛最终成绩中,性能提升效果仅取你得分最高的一个任务,按该任务的 OJ 排名换算(详见 [*4.5 评分规则概要*](#45%20评分规则概要))。
![ranklist](https://origin.picgo.net/2026/07/07/-2026-07-07-173642c2d1ab65ebb06d55.png)
**榜单解读**
- 6 列对应 6 个 OJ 子题Ragged Prefill (20001)、Paged Prefill (20002)、MLA Attention (20003)、Paged Decode (20004)、FlashAttention KV Cache Decode (20005)、Fused MoE i8 tn (20006)
- 各题分数为 OJ 内部评分OJ baseline = 50 分),排名按 Total各题 OJ 得分之和)降序。**比赛最终只取单一最高分任务**,而非多任务累加
- 前 4 列为 FlashInfer 任务的 4 个子题各子题独立计分FlashInfer 任务得分取各子题的最高值;
- 各题分数为 OJ 内部评分OJ baseline = 50 分),排名按 Total各题 OJ 得分之和)降序。此为 OJ 平台汇总逻辑,比赛最终只取单一最高分任务,不做多任务累加
- 每列下方的括号数值(如 `(24)`)表示该题提交次数