From bf62f41124e42baf4753c06649d75d798ef7a2c7 Mon Sep 17 00:00:00 2001 From: eunhhu Date: Thu, 8 Oct 2026 17:04:12 +0100 Subject: Design 025: stage 4's knapsack bar by arithmetic (8.6 ms: two 4 KB copies and the branch's counting pass a batch, about 0.35 us), and the general way's floor at 1024 lanes (about 8.3 ms, ADD and GT apart) against the compiled code's 7.9 --- docs/design/025-batch-programs.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'docs/design/025-batch-programs.md') diff --git a/docs/design/025-batch-programs.md b/docs/design/025-batch-programs.md index c3123b7..8b9ab78 100644 --- a/docs/design/025-batch-programs.md +++ b/docs/design/025-batch-programs.md @@ -9,7 +9,10 @@ matmul ≤ 21 ms). 4바이트 곱하기 뒤 matmul은 26.57 ms다(명령 −20%) 안쪽 회차마다의 해석 약 15 ms와 행렬 만들기(점화식과 덧붙이기 8만 개) 약 4–5 ms였다: 26.6 ≈ 커널 8 + 회차마다 15 + 만들기 4–5. 3단계를 닫았다([136](../research/136-batch-executor-stage-three.md): 곱하기, 레인 없이 시작하는 모으기(sum0 6.09 → 1.01 ms, 막대 ≤ 1.5), 리스트의 칸을 묶음에 한 번; b9 대비 matmul −35%, knapsack −12%, roots −7.6%; 실행기, 은행 질의, TPC-C는 그대로). 다음은 4단계(knapsack의 -훑기 여섯을 셋으로). [024](024-batch-executor.md)가 처음에 적고 만들지 않은 단계("묶음 프로그램은 루프마다 한 번 +훑기 여섯을 셋으로). 4단계의 막대는 셈으로 ≤ 8.6 ms다: 열 보기가 묶음마다 4 KB 복사 둘(약 500 사이클)을, 비교가 레인을 세면 +가르기의 훑기(약 300–400 사이클)를 덜어 묶음마다 약 0.35 µs × 4,886 ≈ 1.7 ms다. 더하기(레인당 넘침 검사와 함께 약 2.5 명령)와 +비교(약 1.25)가 따로인 한, 레인 1024에서 knapsack의 범용의 바닥은 약 8.3 ms로 기계어(7.9)의 조금 위다. 그 아래는 두 커널을 합치는 +일이고, 이 설계는 합친 연산을 두지 않는다(133과 같은 결론). [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). @@ -163,7 +166,7 @@ matmul은 j를 레인 200개로 묶고 k를 레인이 함께 돈다. 묶음은 2 | 일 | 지금 (`b9`) | 1단계 | 2단계 | 3–4단계 | 5단계 | 천장 (041) | 기계어 | C | |---|---:|---:|---:|---:|---:|---:|---:|---:| -| knapsack | 11.5 ms | ≤ 10.3 (10.34) | ≤ 9.2 | ≤ 6.0 | | 4.55 (꽉 짠 두 훑기 1.87) | 7.9 | 6.25 | +| knapsack | 11.5 ms | ≤ 10.3 (10.34) | ≤ 9.2 (10.51) | 3단계 10.07, 4단계 ≤ 8.6 | | 4.55 (꽉 짠 두 훑기 1.87) | 7.9 | 6.25 | | matmul | 40.0 | ≤ 39 (38.2) | ≤ 33 (36.1) | ≤ 21 (곱하기 뒤 26.57) | | 17.75 | 14.2 | 7.6 | | BFS | 24.0 | ≤ 24 | ≤ 22 | ≤ 21 | ≤ 18 | 10.3 (꽉 짠 9.8) | 7.7 | 9.9 | | roots | 8.97 | ≤ 9.0 | ≤ 8.6 | | | 6.8 | 9.57 | 6.86 | -- cgit v1.2.3