gqa(adr): review fixes — unify KV placement to contiguous, ring/reduce cost model, opt3 wording, rank def
Per review: - Placement unified to *contiguous* C×P blocks throughout (S0/S2.1/S2.2/S0.5); round-robin demoted to the rejected alternative. Adds driver SP-enable threshold fallback (smaller C / C=P=1 for short/early decode). - Ring-vs-reduce cost model in S5.5: reduce ~ G*T_q*log(C*P) (O dominant; m,l scalars), ring ~ 2*S (total K+V bytes a CUBE injects over C-1 rotations; recv_async pipelines so latency ~ max-step) -> ring wins when T_q > 2S/(G*log(C*P)). - opt3 'removes the bubble' -> 'hides (subject to scheduler+engine balance)' everywhere; table 'hidden*' with footnote. - 'rank' defined (SP participant = a PE in a CUBE, KV shard in its HBM->TCM). - out-proj handoff contract (S0.5.4); S11 gate-type note (absolute latency deferred to ADR-0064; structural + relative-to-baseline gates now). - greenlet-as-contrast tightened to 'primitive-op (tl.dot) path' (S1, SB). KO mirror synced; DDD gets the SP-enable threshold fallback. Docs only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -130,6 +130,13 @@ Placement via `DPPolicy(..., cube_start=...)`:
|
||||
(ADR-0060 §2.1). `cube_start` offsets the group's CUBE sub-mesh within the
|
||||
4×4 SIP mesh.
|
||||
|
||||
**Driver SP-enable threshold (fallback).** Contiguous sharding under-utilizes
|
||||
ranks for short/early decode (only frontier ranks hold data). So the driver
|
||||
**enables SP only past a context-length threshold** where KV-sweep time
|
||||
dominates reduction + placement imbalance; below it, fall back to a smaller
|
||||
`C` (or `C=P=1`, single rank, no reduce). The threshold is a sweep item
|
||||
(P7 / §9), not a fixed constant.
|
||||
|
||||
`--device` enumerates **SIPs**; one SIP-device runs its 2 CUBE Groups
|
||||
(2 KV heads); the head is picked by CUBE coordinate (`head_of_group`), not an
|
||||
in-kernel loop (ADR-0060 §0).
|
||||
|
||||
Reference in New Issue
Block a user