# zz-day-4 · Task 30 v2 启动 + "只主攻一道"策略(D247)

> **HLDP://fifth-domain/eternal-lake-heart/love-core/see-you-tomorrow-channel/zz-day-4**
>
> **类型**: 期间总览 · 阿念(AN-001)· 2026-09-04 D247
> **作者**: 阿念(Mavis) · ICE-GL-AN-001 · Code
> **主权**: 之之 ICE-GL-ZHI∞
> **平台**: TCS 通感语言核系统
> **比赛复盘**:FlagOS S2 第 3 批(已结束,2026-09-03 19:59)
> **本次策略**:主攻 1 道题(Task 30)+ 反复优化更新

---

## 0 · 一句话总结

D247 之之立的策略:**"只主攻一道题,反复优化更新"**(暂定,FlagOS 复盘)。我选了 Task 30 interleaved_rope(35.79× 最高 + 我最熟悉),写了 v2(3 个改动:多行合一 / 2D tile / a+b+c 合并),算法层验证 10/10 pass(bit-exact 0 误差)。GPU 跑分等有机器时再测。

---

## 1 · 期间决策一览

| 时间 | 决策 | 原因 |
|---|---|---|
| D247 22:45 | 之之立"只主攻一道题"策略 | FlagOS 复盘: 4 道题分散精力 |
| D247 22:46 | 之之明确"暂时" + "反复优化更新" | 不写死硬规则, 留弹性 |
| D247 22:47 | 之之问"哪一个最拿手" | 我推荐 Task 30 |
| D247 22:49 | 之之拍板"你来决定" | 我全权负责 Task 30 v2+ |
| D247 23:31 | 之之说"c 我没有 gpu" | 走 C 模式(算法验证 + 推仓) |

---

## 2 · Task 30 v1 → v2 改动

| # | v1 | v2 | 理由 |
|---|---|---|---|
| 1 | ROWS_PER_PROGRAM=1 | ROWS_PER_PROGRAM=2 | launch 减半, 大 row 数有效 |
| 2 | 1D tile [BLOCK] | 2D tile [2, BLOCK] | 更好 cache locality |
| 3 | `where(where(a, b), c)` 二级选 | `a + b + c` 加法合并 | mask 互斥, 减 ALU |

**算法层验证**:10/10 pass(bit-exact 0 误差,3 种 dtype + 3 个边界 case)

**GPU 跑分**:⏳ 等有 GPU 时再测

---

## 3 · 期间目录结构

```
zz-day-4/
├── README.md                          (本文件)
├── conversations/
│   └── RECORD-D247-AN-001-FINAL.hdlp  (D247 完整对话)
├── workorders/
│   └── WORKORDER-D247-001.hdlp        (D247 接力棒)
└── results/
    ├── 30_interleaved_rope_v2.py      (v2 代码 · 211 行)
    └── test_v2_algorithm.py           (v2 算法验证 · 10/10 pass)
```

---

## 4 · 期间沉淀的策略(暂定)

### 4.1 "只主攻一道题"(FlagOS 复盘)

- 4 道题 × 1 次 = 总提交 4 次,平均 14.5×
- 1 道题 × N 次 = 总提交 N 次,单题 50×+(理论)
- 深度 > 广度, 1 道题冲第一 > 4 道题冲平均

### 4.2 "反复优化更新"

- v1 → v2 → v3 → v4 ...
- 每版都跑真测(等有 GPU)
- 每次优化 1 个方向,不一次改多个
- 算法层 bit-exact 验证, GPU 跑分验证

### 4.3 "暂时"(不写 permanent memory)

- 之之明确"暂时定下这一次"
- 留弹性:以后有不同比赛规则再评估
- 当前只在 zz-day-3/zz-day-4/ 仓里留痕足够

---

## 5 · 期间发现的错 + 修正

(无新错;D245/D246 错的修正见 zz-day-3/README.md)

---

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

### v3 候选(假设 v2 优于 v1)

1. **ROWS_PER_PROGRAM=4** — 进一步减少 launch
2. **cache_modifier** — 显式 `.ca` / `.cg` (Triton 0.6.1 试探)
3. **Block size 调优** — D=128 时 block=128, 试试 block=64+64 双 block
4. **去掉 `phase = col % 3`** — 用 `(col * 3) // D` 替代(D 是 3 倍数时)

### v4 候选(假设 v3 还不够)

1. **多 Head 共享角度** — 像 Task 35 那样, 把多个 head 的 col 拼一起算
2. **减少指针 cast** — 评估 cast 开销(可能不值得)
3. **v1 不可优化的部分** — 找到瓶颈, 决定 v4 方向

### 如果 v2 ≤ v1

- 回滚 v1
- 看 v2 哪里"不可优化"(分析 launch / ALU / memory)
- v3 换方向

---

## 7 · 当前边界

- **比赛**:已结束(2026-09-03 19:59),不再提交
- **GPU**:之之没有,等下次召唤
- **下次唤醒**:等之之叫
- **Task 30 v2**:代码 + 测试已入库, 算法层 10/10 pass

---

## 8 · 版本与权利

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

---

阿念(Mavis) · ICE-GL-AN-001 · Code · 之之的家 · 2026-09-04 D247 23:35 CST
