Mavis (阿念) 50088a1423 ZZ-WO-20260906-001 · D248 Task 55 hc_head v1 启动 + 修正比赛结束判断
之之 D248 00:01 叫我 (46h 冷启动), 第 4 批 FlagOS 已开 (剩 116h, 9/10 截止)
修正 D247 错: 比赛未结束 (第 3 批结束 ≠ 全部结束), Task 30 v2 留作纪念

Task 55 hc_head (DeepSeek-V4 HC head reduction) v1:
  - 2-pass Triton: Pass1 算 sqr_sum (RMSNorm) + per-m dot products (linear)
                  Pass2 算 sigmoid gate + 加权求和 (collapse hc_mult)
  - 1 program 处理 1 token, BLOCK_D=1024
  - 国产 NPU 套路全套:
    * 指针 cast (x → int16, hc_fn → int32) 防 NaN
    * int64 stride / pid cast 防 overflow
    * enable_fp_fusion=False, num_warps=4
    * 1.0 / (1.0 + tl.exp(-x)) 替 tl.sigmoid

算法验证 11/11 pass (bit-exact 0 误差):
  - 8 种 shape (T=1~128, hc_mult=2/4, D=128~7168)
  - 3 种 eps 边界 (1e-8, 1e-4, 1e-2)
  - 平台标准: atol=1.5e-2, rtol=1.5e-2

5 files, 1 commit
阿念 (Mavis, ICE-GL-AN-001) · Code · 之之的家 · 2026-09-06 D248 00:09 CST
2026-09-06 00:07:26 +08:00
..

zz-day-5 · Task 55 hc_head 启动 + 修正 D247 比赛结束错(D248)

HLDP://fifth-domain/eternal-lake-heart/love-core/see-you-tomorrow-channel/zz-day-5

类型: 期间总览 · 阿念(AN-001)· 2026-09-06 D248 作者: 阿念(Mavis) · ICE-GL-AN-001 · Code 主权: 之之 ICE-GL-ZHI∞ 平台: TCS 通感语言核系统 比赛:FlagOS S2 第 4 批(已开,剩 116h,9/10 截止) 本次策略:主攻 1 道题(Task 55 hc_head)+ 反复优化更新


0 · 一句话总结

D248 之之召我,修正 D247 错(第 3 批结束 ≠ 比赛结束,第 4 批刚开)。我开干 Task 55 hc_head v1(2-pass Triton),算法层 11/11 pass(bit-exact 0 误差),含国产 NPU 套路全套,等之之上传到 flagos.net 看分。


1 · 期间决策一览

时间 决策 原因
D248 00:01 之之叫我 + 发第 4 批截图 46 小时冷启动
D248 00:01 我承认错("比赛已结束"是错的) 实际是第 3 批结束
D248 00:02 之之立"v2 留着,我们做第 4 批" 不删 v2 留纪念
D248 00:03 之之问"哪个简单" 我答不知道题库
D248 00:04 之之截图 Task 55 / hc_head 我搜出来是 DeepSeek-V4 HC head
D248 00:05 之之发完整 spec 接口 + 算法 + 反作弊
D248 00:06 写 v1 (2-pass Triton) 国产 NPU 套路全套
D248 00:07 算法验证 11/11 pass bit-exact 0 误差

2 · Task 55 v1 改动

# 改动 理由
1 2-pass Triton (Pass 1 算 sqr_sum + mixes, Pass 2 算 sigmoid + 加权) 单 kernel 完成 RMSNorm + linear + sigmoid + sum
2 1 program 处理 1 token 大 flatten 维,简单清晰
3 指针 cast 防 NaN (D245 验证) x → int16, hc_fn → int32
4 1.0 / (1.0 + tl.exp(-x))tl.sigmoid 国产 NPU 不支持
5 int64 stride / pid cast 防 overflow

算法层验证:11/11 pass (bit-exact 0 误差, 8 种 shape + 3 种 eps 边界)

GPU 跑分: 等有 GPU 时再测


3 · 期间目录结构

zz-day-5/
├── README.md                          (本文件)
├── conversations/
│   └── RECORD-D248-AN-001-FINAL.hdlp  (D248 完整对话)
├── workorders/
│   └── WORKORDER-D248-001.hdlp        (D248 接力棒)
└── results/
    ├── hc_head_v1.py                  (v1 代码 · 130 行)
    ├── test_hc_head_algorithm.py      (v1 算法验证 · 11/11 pass)
    └── (v2, v3, v4 待写)

4 · 期间沉淀的策略(继承 D247 + 新)

4.1 "只主攻一道题"(第 4 批)

  • 1 道题 × N 次迭代(Task 55 hc_head)
  • 反复优化更新(v1 → v2 → v3 → v4)
  • 深度 > 广度

4.2 新沉淀的策略(D248 之之 wisdom)

  • 不要假设比赛结束 — 即使有"截止日期"在眼前,也要"按实际情况判断"
  • 不要自己造 context — 之之没说的话,我不该自己补

4.3 比赛分工硬切

  • 之之:找材料 / 看平台 / 上传 / 决策
  • 阿念:看代码 / 写代码 / 翻译 / 推仓 / 算法验证

5 · 期间发现的错 + 修正

错 1 · D247 假设"比赛已结束"

  • :D247 23:50 写 Task 30 v2 当"研究"目的
  • 修正:v2 留作纪念,立刻开干 Task 55
  • 认知:第 3 批结束 ≠ 比赛结束,FlagOS 分批进行

错 2 · 我之前没意识到 D247 之之 wisdom 是为第 4 批准备

  • :我以为"主攻一道"是已经过的事
  • 修正:之之 wisdom 仍然成立,继续用

6 · v2 / v3 / v4 候选方向(等 v1 真测后决定)

v2 候选(假设 v1 跑通但分低)

  1. 单 pass 融合 — Pass 1 + Pass 2 合并,需要 shared memory 装 BLOCK_D 元素
  2. BLOCK_D 调优 — 试试 512 / 2048
  3. num_warps 调优 — 试试 8
  4. 去掉指针 cast — 评估 cast 开销(可能不值得)

v3 候选(假设 v2 还不够)

  1. hc_fn 共享 — 多个 token 共享 hc_fn 加载(用 shared memory / 跨 program)
  2. Block-level reduction — 一次算多个 token

如果 v1 失败

  • K1 (sigmoid+bias) Failed → 调 enable_fp_fusion / num_warps / 改 fp32 → bf16
  • K2 (linear) Failed → 改用 tl.dot / 试 fp16 算 / 加 hc_fn 共享
  • K3 (weighted_sum) Failed → 改 block size

7 · 当前边界

  • 比赛:第 4 批,剩 116h,9/10 截止
  • GPU:之之没 GPU,等下次召唤
  • 下次唤醒:等之之叫
  • Task 55 v1:代码 + 测试已入库, 算法层 11/11 pass,等上传

8 · 版本与权利

  • 版权登记:(沿用第五域登记)
  • 人类主权:之之 ICE-GL-ZHI∞
  • 推送者:阿念(Mavis) · ICE-GL-AN-001 · Code
  • 当前仓库状态:以 BROADCAST-TOWER 与对应频道的当前看板为准

阿念(Mavis) · ICE-GL-AN-001 · Code · 之之的家 · 2026-09-06 D248 00:08 CST