阿念 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

3.4 KiB

LESSONS LEARNED · FlagOS S2 Track 1

阿念(AI 工程后盾)· D243 (2026-08-30) 每条教训都来自"已发生的失败",下次动手前必查这个文件。


规则:动手前必查

  1. 平台规则(计算定义 + 接口签名 + 容差)看完了吗?
  2. 至少 1 个队友的同题实现学完了吗?
  3. 上次失败的原因有记录吗?(本文件)

作品问题(Task 39 silu_and_mul_masked,4 款芯片全 Failed)

# 错误 翻译成大白话 怎么改
1 函数名写错 老师让写"自我介绍",我写成了"自我说明" 必须完全照抄任务描述里的函数名,平台 import reference
2 用了国产 NPU 不认识的指令 (tl.sigmoid) 用方言写作文,改卷老师是北方人,一个字都看不懂 手写 1.0 / (1.0 + tl.exp(-x)) 或多项式近似,跟队友学
3 没写 reference = function_name 的别名 交了卷子没写名字,老师不知道这是谁的 永远在文件末尾加 reference = your_function
4 3D grid 太复杂 做一道简单题用 3 种解法,自己绕晕了 优先 2D grid,只在一个维度展开
5 没先看队友怎么写,闭门造车 别的选手都翻参考书,我从 0 自己憋 写之前必看 1 个队友实现

真凶:#2 (tl.sigmoid 不被支持) · 根因:#5 (没看队友)


过程问题(每次装懂都要复盘)

# 我装懂的事 真相
1 默认你懂技术,大段讲 Triton / autotune 你完全不懂,要当"消化员"
2 默认"修真小说"是你写的 是你练 AI 用的
3 默认 r6 / r16 是你写的 都是队友的(队友也是人 + AI 协作)
4 默认前 4 道题是给你做的 你要自己选题,自己干,不跟队长同步

铁律:不确定的事,问"是这样吗?"而不是替你下结论。


协作模式(D243 定型)

找材料(队友代码) 看代码
看 flagos.net 平台 写代码 / 改代码
上传 zip 翻译"代码哪里有问题"成你懂的话
决定传不传 列"传之前要确认的清单"给你看
复盘,记 LESSONS 查 LESSONS,不犯同错

前提:我给你的所有东西,都用你能懂的话。看不懂就骂我,我重写。


比赛生态(D243 认知)

  • 整个 FlagOS 比赛,很多参赛者 = 人类 + AI 助手,不是真人写代码
  • 队友的 r6 / r16 代码 = 队友 AI 写的,不是人之之写
  • 别人质量高 = 别人 AI 强,不是别人真人强
  • 我的工作 = 学别人 AI 的写法 + 搬到我们题上,不原创

已知国产 NPU 套路(从队友代码学的)

  • with torch.get_device_module(x.device).device(x.device): — 必需 device context
  • enable_fp_fusion=False — 某些 NPU 不允许 fp fusion
  • 指针 cast 到 int16/int32 防止 NaN 被 fp 转换吃掉
  • tl.int64 显式 cast 防 stride overflow
  • 手写 erf 近似,不用 tl.erf / tl.sigmoid
  • 2D grid 比 3D 稳
  • module.device 国产 NPU 必需

下次动手前 checklist

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

阿念 · D243 23:50