3 道题参赛(全部基于队友参考实现 + 国产 NPU 套路): - Task 30 interleaved_rope (M-RoPE) 跨芯片通用版: 35.79× 平均 (5 款跑通) · 天数 86.81× · 海光 42.86× · 国通A 26.91× · 沐曦 15.54× · 华为 6.84× (燧原/昆仑芯 Failed) - Task 29 gelu_and_mul 跨芯片通用版: 3.02× 平均 (7 款跑通) · 燧原 0.96× + 华为 1.09× 拖后腿 - Task 35 rotary_embedding 跨芯片通用版: 待传(等 0 点提交次数重置) 3 个 zip (results/) + 1 个 README (D245 总览) + 1 个 LESSONS_LEARNED.md (5 作品问题 + 3 过程问题 + 协作模式 + 3 条硬规则) + BATTLECARDS + PR 模板 含 D243 失败版本 silu_and_mul_masked.py 留作复盘 作者: 阿念(Mavis) · ICE-GL-AN-001 · Code · 为 甄静(8592_apivqhj)· 之之的家 · 2026-09-02 D245 23:35 CST
FlagOS S2 赛季二 · 赛道一 · D245 总结
之之 (8592_apivqhj) + 阿念 (Mavis, ICE-GL-AN-001, Code) · 协作产出 比赛: FlagOS 开放计算全球大赛 S2 · Track 1 · SGLang 算子优化 队伍: GuanghuLab(队长孙蓓, 4 名其他队员, 共 5 人) 第 3 批 17 道题 · 截止 2026-09-03 19:59
战绩(D245 23:35)
| Task | 算子 | 状态 | 平均加速比 | 详情 |
|---|---|---|---|---|
| 30 | interleaved_rope (M-RoPE) | ✅ 已传 | 35.79× (5 款跑通) | 天数 86.81× / 海光 42.86× / 国通A 26.91× / 沐曦 15.54× / 华为 6.84×;燧原/昆仑芯 Failed |
| 29 | gelu_and_mul | ✅ 已传 | 3.02× (7 款跑通) | 天数 5.32× / 海光 4.03× / 国通A 3.73× / 国通B 3.25× / 沐曦 2.74× / 华为 1.09× / 燧原 0.96×;昆仑芯 Failed |
| 35 | rotary_embedding | ⏳ 待传(等 0 点重置提交次数) | - | - |
| 39 | silu_and_mul_masked (D243) | ❌ 已传,4 款全 Failed | - | 改用 tl.sigmoid 在国产 NPU 编译失败 |
排名预估(基于截图)
- Task 30:原第 9 名 27.97× → 新提交 35.79× → 大概第 2-3 名
- Task 29:队友 v8.1 3.43× (8/8),我们 3.02× (7/8) — 略低,但接近
- Task 35:待传,可能冲前 5
目录结构
d245/
├── README.md (本文件)
├── src/
│ ├── Task30_r16_zhizhi/ (M-RoPE 跨芯片通用版,7 芯片特化)
│ ├── Task29_v81_zhizhi/ (gelu_and_mul 跨芯片通用版)
│ ├── Task35_r6_zhizhi/ (rotary_embedding 跨芯片通用版)
│ └── silu_and_mul_masked.py (D243 Task 39 failed version,留作复盘)
├── docs/
│ ├── LESSONS_LEARNED.md (5 作品问题 + 3 过程问题 + 协作模式)
│ ├── BATTLECARDS.md (4 张作战卡)
│ └── PR-TEMPLATE.md (PR 模板)
├── bench/ (benchmark 脚本)
├── tests/ (正确性测试)
└── results/ (zip 文件,平台已传)
学到的关键
-
跨芯片必须双套路:
- 国产 NPU(天数/海光/沐曦/燧原/华为/昆仑芯):
enable_fp_fusion=False+torch.get_device_module().device()+ 手写指针 +tl.int64cast + 指针 cast 到 int16/int32 防 NaN - 国际卡(NVIDIA/AMD):
tl.math.erf走硬件 SFU,不强制 disable fusion
- 国产 NPU(天数/海光/沐曦/燧原/华为/昆仑芯):
-
平台 import 入口 =
reference = function_name(函数末尾必加,否则 platform 找不到) -
比赛生态 = 人 + AI 协作(不是真人写代码),其他队伍也是 r1-r16 这样的迭代节奏
-
6 款国产 NPU 不能用一刀切:
- 燧原/华为:某些 NPU 套路反而负优化
- 天数/海光/沐曦:接受国产套路
- 跨芯片统一版需要适配性设计
-
协作模式(D243 定型):
- 之之:找材料 / 看平台 / 上传 / 决策传不传 / 复盘
- 阿念:看代码 / 写代码 / 翻译"代码哪里有问题"成之之能懂的话
- 前提:阿念给之之的所有东西,都用之之能懂的话
下次动手前 checklist(从 LESSONS_LEARNED.md 继承)
- 任务描述完整读一遍(计算定义 + 接口签名 + 容差)
- 至少 1 个队友参考实现看完
- 把队友写法 + 我打算写的放一起对比
- 写之前把"我准备怎么写"翻译给之之听,得到认可
- 写完本地不传,先给之之看"我会传啥"
- 之之确认后才传
下次改进方向
- Task 35 待传(等 0 点提交次数重置)
- 燧原 / 华为特化版可能值得加
- 国际 A/B 卡版可能用
tl.math.erf写一版
阿念 · D245 23:35 · 给 甄静 + 之之的家