From 43815a41bfab2f561bf69ecb0bd5de75bef3678a Mon Sep 17 00:00:00 2001 From: eunhhu Date: Thu, 8 Oct 2026 13:08:06 +0100 Subject: Research 132 (no code): where the batch executor's cost sits (an element's passes through memory; a batch's fixed cost about 6,500 instructions, 1 us, measured by 1024 against 256 lanes: fewer lanes are slower, so 024's L1 sizing was the wrong lever; a candidate's tail about 250), what the database literature measured of the same shape (X100, Kersten 2018's cycles and instructions a tuple, Sompolski 2011, Gubner 2017's in-register aggregation, Photon, Ertl and Gregg), the ways judged by the philosophy (a batch program made once at load; register tiles with threaded dispatch as the one general way past the floor; a table of fused operations and AOT C out), and the deciding experiment with its bar first (three bodies in tiles of 4, 8, 16: within 1.3x the compiled code's cycles an element, or it is not the answer); 041 lanes data --- .../experiments/041-batches/2026-10-08-lanes.jsonl | 24 ++++++++++++++++++++++ research/experiments/041-batches/runs.sh | 4 ++++ 2 files changed, 28 insertions(+) create mode 100644 research/experiments/041-batches/2026-10-08-lanes.jsonl (limited to 'research') diff --git a/research/experiments/041-batches/2026-10-08-lanes.jsonl b/research/experiments/041-batches/2026-10-08-lanes.jsonl new file mode 100644 index 0000000..db5d768 --- /dev/null +++ b/research/experiments/041-batches/2026-10-08-lanes.jsonl @@ -0,0 +1,24 @@ +{"version": "b9", "lanes": 1024, "work": "knapsack", "ms": [11.43, 11.49]} +{"version": "b9", "lanes": 512, "work": "knapsack", "ms": [15.685, 15.761]} +{"version": "b9", "lanes": 256, "work": "knapsack", "ms": [24.516, 24.585]} +{"version": "b9", "lanes": 1024, "work": "roots", "ms": [8.972, 8.972]} +{"version": "b9", "lanes": 512, "work": "roots", "ms": [9.505, 9.513]} +{"version": "b9", "lanes": 256, "work": "roots", "ms": [10.789, 13.614]} +{"version": "b9", "lanes": 1024, "work": "join", "ms": [117.102, 117.147]} +{"version": "b9", "lanes": 512, "work": "join", "ms": [120.545, 126.901]} +{"version": "b9", "lanes": 256, "work": "join", "ms": [125.65, 126.873]} +{"version": "b9", "lanes": 1024, "work": "matmul", "ms": [40.042, 40.163]} +{"version": "b9", "lanes": 512, "work": "matmul", "ms": [40.025, 40.476]} +{"version": "b9", "lanes": 256, "work": "matmul", "ms": [39.941, 40.077]} +{"version": "b9", "lanes": 1024, "work": "bfs", "ms": [24.265, 31.357]} +{"version": "b9", "lanes": 512, "work": "bfs", "ms": [24.66, 24.775]} +{"version": "b9", "lanes": 256, "work": "bfs", "ms": [25.974, 26.22]} +{"version": "b9", "lanes": 1024, "work": "sort", "ms": [57.433, 59.233]} +{"version": "b9", "lanes": 512, "work": "sort", "ms": [56.898, 57.247]} +{"version": "b9", "lanes": 256, "work": "sort", "ms": [57.248, 57.819]} +{"version": "b9", "lanes": 1024, "module": "sum0", "n": 51200, "instructions": 47885499, "cycles": 16209194} +{"version": "b9", "lanes": 256, "module": "sum0", "n": 51200, "instructions": 68855384, "cycles": 23451153} +{"version": "b9", "lanes": 1024, "module": "ops0", "n": 51200, "instructions": 66412063, "cycles": 30359218} +{"version": "b9", "lanes": 256, "module": "ops0", "n": 51200, "instructions": 85341947, "cycles": 36828120} +{"version": "b9", "lanes": 1024, "module": "nest", "n": 200, "instructions": 240741778, "cycles": 99699878} +{"version": "b9", "lanes": 256, "module": "nest", "n": 200, "instructions": 240612644, "cycles": 102318427} diff --git a/research/experiments/041-batches/runs.sh b/research/experiments/041-batches/runs.sh index 190a3d2..6f3a4e8 100755 --- a/research/experiments/041-batches/runs.sh +++ b/research/experiments/041-batches/runs.sh @@ -44,3 +44,7 @@ counts) *) echo "runs.sh suite NAME ROUNDS [WORK ...] | counts NAME [WORK ...]" >&2 exit 2 ;; esac +# 2026-10-08-lanes.jsonl (research 132): b9's code with BATCH 1024, 512 and +# 256 (core/module-batch.c's enum), suite-run 5 rounds twice (ms: the two +# medians) and costs/time.c's sum0, ops0 and nest under icount 3 rounds: +# a batch's fixed cost is (the instructions' difference) / (the batches'). -- cgit v1.2.3