跳到主要内容

推理性能建模章节维度发散与补章规划

名词定义

名词定义
G5 建模借 gem5 思想做 SystemC AT 级(cycle-approximate)的 AI 芯片 perf model,workload 为 LLM 推理
SystemC ATSystemC 的 Approximately-Timed 抽象级,cycle 近似,业界俗称 CA model
cmodel功能模型(functional model),bit-accurate 不带时序,与 perf model 正交
perf model性能模型,关心延迟/吞吐/资源占用,必须建立在功能正确性上
资源域被建模的硬件/系统资源类别,如 compute / memory / interconnect / scheduler
抽象层级同一资源域内的建模精度档,如 analytical / trace-replay / event-driven / cycle-approx
范式有向图主流 perf model 工具(roofline/Calculon/ASTRA-sim/Vidur/gem5)的依赖关系图,边=标定依赖
判据(分层主线)何时升档 / 何时降档的 cost-precision Pareto 准则

发散命题

docs/knowledge/08-推理性能建模 章节,从第一性原理穷举做一个 SystemC AT 级 AI 芯片 perf model(简称 G5 建模)需要覆盖的所有维度。章节是 survey + 方法论,目标是给 G5 建模提供概念骨架。

  • 类型:extension-ideation + research 落点
  • 好候选标准:① 业界有互不相同的建模做法可横向对比;② 对 perf model 设计有实质影响;③ 锁在 cost-precision 判据上,不锁单一精度档
  • 边界:覆盖 LLM 推理 workload 的所有建模维度,但主线锁 SystemC AT 这档的设计依据——其它档作为对比和判据应用示例
  • 关键前提:gem5 / SystemC AT(10–500 KIPS)跑不动 LLM 端到端,任何 perf model 都必须分层 + 标定

建模精度阶梯(全局参照)

按"模拟一秒真实硬件需要多久 / 误差能压到多少 / 标定多难"三轴:

代表速度(rel 实时)绝对误差标定难度
analytical(解析)roofline, GenZ, Calculon10⁶×±10–30%低(datasheet + η)
trace-replayprofile-based 查表10⁵×±5–15%中(需真机 trace)
event-driven(算子级 DES)ASTRA-sim, Vidur10³–10⁴×±5–15%
cycle-approx(CA / SystemC AT)gem5, SystemC AT, G510⁰–10²×±5–10%高(microarch params)
cycle-accurate(strict)RTL sim10⁻³–10⁻¹×±0–2%最高
functional(cmodel)QEMU, ISS10⁴–10⁶×不算时序

每升一档:速度降 10–1000×,标定难度跳一档,绝对误差只小一档——体系结构仿真的核心矛盾。

G5 建模锁在 cycle-approx 档,但端到端跑不动,必须配合 analytical / event-driven 上层做分层。

维度地图:资源域为主轴

主轴 — 资源域(建模对象)

1. Compute       — PE 阵列 / dataflow / 向量单元 / SFU
2. Memory — 寄存器 / SRAM bank / L2 / HBM ctrl / DMA
3. Interconnect — 片内 NoC / 片间 c2c / 系统拓扑 / 路由 / 集合通信
4. Scheduler-as-workload — 请求分布 / batcher / PD 分离 / continuous batching

Scheduler-as-workload 不是"被建模的硬件",是驱动建模的输入——continuous batching 等系统设计作为 workload 生成器,排队论作为分析工具。

副轴 — 每个资源域内的抽象层级谱系

analytical → trace-replay → event-driven → cycle-approx

各域谱系独立,不强制对齐档位名:

资源域analytical 档event-driven 档cycle-approx 档(G5 落点)
Computeroofline + η算子级时长事件PE 阵列脉动节拍、tile 调度
Memory带宽 rooflineKV cache 字节预算 + DMA 事件bank 冲突、HBM ctrl 队列、cache 命中
Interconnectalpha-beta集合通信 / 拓扑感知事件flit 级 NoC + c2c + router 仲裁
Scheduler排队论闭式请求级 DES(Vidur)(不在 cycle-approx 档,作为 trace 输入)

正交轴(贯穿所有资源域)

  • 输入模式:trace-driven(采集回放) vs generative(workload 模型生成) vs hybrid
  • 目标维度:latency / throughput / cost / power / MFU,多目标 Pareto
  • 系统结构:同构 / 异构 die / chiplet / 跨代芯片混部

骨架 — 范式有向图(替代笛卡尔积)

roofline ──┐
├─→ Calculon ──→ ASTRA-sim ──→ Vidur
│ ↑ ↑
│ │ │
│ └─ profile ────┘

LLMCompass

gem5 / SystemC AT ←── G5 落点

边的含义 = 标定依赖:Calculon 用 roofline 闭式做算子时长,ASTRA-sim 可吃 Calculon 输出做端到端,Vidur 可消费 ASTRA-sim 标定。G5(SystemC AT)产出 kernel 级 cycle 数,反向喂给 ASTRA-sim / Vidur 提升其算子时长精度。

横切关注点

横切轴描述各资源域的呈现
workload spec模型/算子/请求分布从哪来Compute 喂算子形状,Memory 喂 KV 分布,Interconnect 喂集合通信调用,Scheduler 喂请求到达
validation & 对标各档输出怎么验,误差来源分层analytical 对 trace,cycle-approx 对 RTL/硅后
设计空间探索(DSE)perf model 被用来回答什么问题选 PE 配比 / 选并行策略 / 选实例配置
lifecycle每次评估的 stage 流workload spec → hardware spec → mapping → evaluation → reporting

章节落地规划(9 篇)

类型内容
01 总览 + 范式有向图新写6 种主流 perf model 定位、标定依赖图、升降档判据、SystemC AT 在阶梯里的位置
02 Compute 资源域改造从 roofline 到 PE 阵列 CA 的谱系,各档建模手段、标定方式、误差来源
03 Memory 资源域改造KV cache / bank 冲突 / HBM 控制器 / DMA 的谱系
04 Interconnect 资源域重写片内 NoC + 片间 c2c + 拓扑路由 + 集合通信的谱系(自包含,不指向 interconnect 章)
05 Scheduler-as-workload新写continuous batching / 请求分布 / PD 分离 / chunked prefill 作为 workload 输入,排队论作为分析工具
06 输入模式与 workload spec新写trace-driven vs generative,采集方法、合成 workload 模型、混合策略
07 多目标与异构新写Pareto 输出、异构 die/chiplet 建模、跨代芯片混部
08 标定 / 验证 / DSE改造各档标定方法、对标对齐三要素、设计空间探索范式
09 G5 落地示例新写SystemC AT 在 compute/memory/interconnect 三域的具体选择、scheduler trace 输入接口、与上层算子级 DES 的耦合

关键设计决策

  1. 主轴是资源域不是时间尺度 — 时间尺度是仿真器属性(跑多快),不是建模对象属性。资源域(compute/memory/interconnect/scheduler)才是被建模系统的本体维度。
  2. 范式有向图替代笛卡尔积 — 9 cell 矩阵里大半塌缩,真实结构是工具间的标定依赖图。
  3. 接口层消失 — 不再独立成篇,降级为各资源域内部的"标定子节"。
  4. L3 服务系统降级 — continuous batching 是被建模对象,作为 workload 输入(Scheduler-as-workload),不作为建模层。
  5. survey 锁判据不锁 cell — 主线讲 cost-precision Pareto + 升降档条件,SystemC AT 作为最后一篇的判据应用示例。
  6. 借鉴项目 Granularity 的精度独立思想 — 同一对象多档建模是 insight,但不与时间尺度做笛卡尔积。

执行纪律(每篇都守)

  1. 先查后写 — 写任何一篇前先查项目已有 docs(interconnect / knowledge/03 长上下文 / knowledge/06 大模型解构 / validation),列出可复用内容,不重复调研
  2. 自包含 — 04 Interconnect 篇按你指定自包含重写,不指向 interconnect 章
  3. 洗掉项目背书 — survey 中立讲业界,G5 建模作为"落地示例"在 09 出现,不在其它篇做立论
  4. 资源域内层级谱系都讲 — 不只讲 cycle-approx 档,各档都给定位 + 标定路径 + 误差范围

对抗审视采纳记录

对抗 Agent 提出 8 个攻击点,处理结果:

#攻击结果
1时间尺度是仿真器属性,不是建模对象接受,主轴改资源域
2笛卡尔积大量 cell 塌缩接受,改范式有向图
3接口层是主轴错选的代偿接受,接口降级为标定子节
4trace-driven vs generative 漏了接受,补正交轴
5L3 服务层强行归入性能建模边界失守部分接受,降级为 workload 输入,排队论作为分析工具保留
6主线锁单 cell 失焦接受改法,锁判据不锁 cell
7多目标 + 异构缺席接受,作为正交轴补
8"形式相同内涵不同"虚假统一保留意见,各域独立讲谱系不强制对齐档位名

开放问题

  • 9 篇是否仍偏多,07(多目标+异构)与 06(输入模式)可能可并篇
  • 09 G5 落地示例的颗粒度——是给概念还是给具体 SystemC class 设计示意,待写时定
  • 部署系统层(多集群/容错/扩缩)是否预留接口——当前判断不进章,提一句即可