aboutsummaryrefslogtreecommitdiffstats
path: root/docs/design/025-batch-programs.md
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-08 15:52:44 +0100
committereunhhu <[email protected]>2026-10-08 15:52:44 +0100
commit6828a7d07f9de815c858a295124f6bcde9bd861a (patch)
tree7a7ae86228c20ff8dd041588614d2d58b81fc3fc /docs/design/025-batch-programs.md
parentbdcc6f66e3addf1980b3b065609cc0f5075a4194 (diff)
downloadpure-6828a7d07f9de815c858a295124f6bcde9bd861a.tar.gz
pure-6828a7d07f9de815c858a295124f6bcde9bd861a.zip
Research 135: batch plans' stage 2 measured (b11 = 7959885 against b10, interleaved): matmul 38.18 to 36.10 ms with 4.5% fewer instructions (segments in its nested rounds), knapsack's per-batch cost 0.68 to 0.63 us but knapsack 10.35 to 10.51 ms with 1% fewer instructions (its per-element loops placed elsewhere), sum0 1,743 instructions a batch: short of 025's stage-2 bars (9.2 ms, 0.45 us, 33 ms): 025 priced a segment's instruction at 50 cycles, the counts show about 25 instructions, and a batch's cost sits in finds, bounds, read records, lane setup, masks and the deferred store's check; a list's cells once a batch measured at 3% and not made; next, per element: stage 3's four-byte MUL (matmul 21 ms)
Diffstat (limited to 'docs/design/025-batch-programs.md')
-rw-r--r--docs/design/025-batch-programs.md6
1 files changed, 5 insertions, 1 deletions
diff --git a/docs/design/025-batch-programs.md b/docs/design/025-batch-programs.md
index cbb125f..f6a310e 100644
--- a/docs/design/025-batch-programs.md
+++ b/docs/design/025-batch-programs.md
@@ -1,7 +1,11 @@
# 025 — 묶음 프로그램: 블록은 로드 때 한 번 읽고, 묶음마다는 값만 본다
작성일: 2026-10-08. 상태: 1단계를 만들었다([134](../research/134-batch-plans-stage-one.md): 배낭의 묶음마다 0.90 → 0.68 µs, 11.48 →
-10.34 ms. 막대 ≤ 0.60 µs와 ≤ 10.3 ms에 못 미쳤다. 남은 것은 명령마다 `Val`을 다루는 해석으로, 2단계의 몫이다). [024](024-batch-executor.md)가 처음에 적고 만들지 않은 단계("묶음 프로그램은 루프마다 한 번
+10.34 ms. 막대 ≤ 0.60 µs와 ≤ 10.3 ms에 못 미쳤다. 남은 것은 명령마다 `Val`을 다루는 해석으로, 2단계의 몫이다). 2단계(균일·아핀
+조각)를 만들었다([135](../research/135-batch-plans-stage-two.md): matmul 38.18 → 36.10 ms, 명령 −4.5%; 배낭의 묶음마다 0.63 µs, 배낭
+10.51 ms(놓인 자리); 막대 ≤ 9.2 ms, ≤ 0.45 µs, ≤ 33 ms에 못 미쳤다. 조각은 중첩 회차의 수단이고, 묶음마다 값은 키로 찾기와 레인
+연산의 준비에 있어 이 꼴로는 약 0.6 µs에서 멈춘다. 리스트의 칸 캐시는 3%라 하지 않았다). 다음은 요소마다다(3단계: 4바이트 곱하기,
+matmul ≤ 21 ms). [024](024-batch-executor.md)가 처음에 적고 만들지 않은 단계("묶음 프로그램은 루프마다 한 번
만든다")이고, [132](../research/132-batch-executor-floor-and-the-way-past.md)의 A, [133](../research/133-register-tiles-measured.md)이
정한 길이다. 사용자의 방향: 범용 장치로, 합친 연산의 표 없이, 기계어 없이, 메모리를 적게(2026-10-05, 2026-10-08).