# PR347 基础设施/SM100 重构 代码review报告

## 范围

- Worktree: `pr-347`
- HEAD: `2b8dfd0e8`
- 审查方式: 代码review
- 主题: SM100 MegaMoE 重构，SM90 MegaMoE kernel **已被移除**

## 实现概述

### 核心变化

pr-347 是一个**中间重构 PR**。它不包含 SM90 MegaMoE kernel（相比 pr-323 已移除 `sm90_fp8_mega_moe.cuh`），重点关注:

1. **SM100 FP8/FP4 MegaMoE kernel 重构** — 代码格式、变量命名、注释统一
2. **Heuristics 模块重组** — `mega_moe.hpp` 从 211 行扩展到 276 行，增加了更多 shape 分支
3. **Scheduler 增强** — `mega_moe.cuh` 从 221 行扩展到 273 行，支持更多 block 分配策略
4. **API 层清理** — 移除 SM90 专用的 `csrc/apis/sm90_mega.hpp`

### SM100 FP8/FP4 MegaMoE Fused Kernel

`deep_gemm/include/deep_gemm/impls/sm100_fp8_fp4_mega_moe.cuh` (~1364 lines)

线程和寄存器布局与 pr-304 一致:

| Role | Threads | Warps | 所属 Warpgroup | Reg/thread |
|---|---|---|---|---|
| Dispatch | 128 | 4 | WG0 | 48 |
| TMA (A+SFA, B+SFB, MMA issue, idle) | 128 | 4 | WG1 | 40 |
| Math/epilogue + Combine | 256 | 8 (2 warpgroups) | WG2, WG3 | 208 |
| **总计** | **512** | **16** | **4 WGs** | **64,512/64K** |

## 代码review发现

### 低: 这是一个重构 PR，kernel 逻辑变化小

主要改动是代码组织（命名、注释、文件结构调整），对运行时行为影响有限。风险评估较低。

### 低: SM90 MegaMoE 能力被移除

相比 pr-323，sm90_fp8_mega_moe.cuh 和相关 JIT host/heuristics 文件不再存在。如果这是故意的（为后续 PR 清理），则合理；如果是不小心丢失，需要注意。

## 正面评价

- 代码风格和注释质量有显著提升
- Heuristics 模块增加了更多 shape 分支覆盖
- 为后续 PR352 的分层 MegaMoE 打下基础

## 建议检查清单

- 确认 SM90 MegaMoE 移除是故意的，非 merge 错误
- 验证重构后 SM100 MegaMoE 的 bitwise correctness 未退化
