阿念 61855506ed ZZ-FLAGOS-S2-2026-D245-001 · FlagOS S2 第 3 批 D245 总结
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
2026-09-02 23:39:03 +08:00
..

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 文件,平台已传)

学到的关键

  1. 跨芯片必须双套路:

    • 国产 NPU(天数/海光/沐曦/燧原/华为/昆仑芯):enable_fp_fusion=False + torch.get_device_module().device() + 手写指针 + tl.int64 cast + 指针 cast 到 int16/int32 防 NaN
    • 国际卡(NVIDIA/AMD):tl.math.erf 走硬件 SFU,不强制 disable fusion
  2. 平台 import 入口 = reference = function_name(函数末尾必加,否则 platform 找不到)

  3. 比赛生态 = 人 + AI 协作(不是真人写代码),其他队伍也是 r1-r16 这样的迭代节奏

  4. 6 款国产 NPU 不能用一刀切:

    • 燧原/华为:某些 NPU 套路反而负优化
    • 天数/海光/沐曦:接受国产套路
    • 跨芯片统一版需要适配性设计
  5. 协作模式(D243 定型):

    • 之之:找材料 / 看平台 / 上传 / 决策传不传 / 复盘
    • 阿念:看代码 / 写代码 / 翻译"代码哪里有问题"成之之能懂的话
    • 前提:阿念给之之的所有东西,都用之之能懂的话

下次动手前 checklist(从 LESSONS_LEARNED.md 继承)

  • 任务描述完整读一遍(计算定义 + 接口签名 + 容差)
  • 至少 1 个队友参考实现看完
  • 把队友写法 + 我打算写的放一起对比
  • 写之前把"我准备怎么写"翻译给之之听,得到认可
  • 写完本地不传,先给之之看"我会传啥"
  • 之之确认后才传

下次改进方向

  • Task 35 待传(等 0 点提交次数重置)
  • 燧原 / 华为特化版可能值得加
  • 国际 A/B 卡版可能用 tl.math.erf 写一版

阿念 · D245 23:35 · 给 甄静 + 之之的家