MacBrains LabsApple Silicon research

MacBrains Labs / Field notes / N/005

Correct, placed, paid for.

Two grafts passed every numerical check. One never reached the Neural Engine. The other did, made every call slower, and has to earn that back through accepted drafts. Correctness, placement and cost are separate gates.

Note
N/005
Ring graft
0 / 115 ops on ANE
EAGLE graft
+4 to +6.6 ms per call
Call floor
14–15 ms
Verdict
One negative, one open

01A correct graph that ran on the CPU

The ring graft is a speculative-attention graph for a ring-buffer key/value cache. Each call writes two provisional key/value proposals, takes an acceptance count from the host, and attends only over committed history, including after the ring wraps.

On 27 August 2026 it passed its end-to-end check at two cache sizes. Rejected proposals that were physically present in the cache stayed out of attention in every poison case.

Cache slotsCallsWrapsPoison cases isolatedCorrectness
1641310 / 10Pass
5141517 / 7Pass

Those runs requested the Neural Engine. A separate placement census of the exact compiled artifacts then asked MLComputePlan where each operation goes. The answer was the CPU, for every operation that has a device, at both sizes, under both .cpuAndNeuralEngine and .all.

Cache slotsOpsANECPUNo deviceCPU share of cost
1611507243100%
51411507243100%

The 43 operations with no device are constants. The census reports Core ML’s preferred placement; it is not a trace of execution.

02A correct draft head that makes every call slower

An EAGLE-3 draft head was grafted into the single-token function of a LUT4 Qwen2.5 model, so one call returns both the verified token and a draft. On 24 June 2026 the grafted subgraph matched the PyTorch reference at three internal stages on two independent inputs: relative L2 at most 0.00195 and cosine at least 0.999998.

The graft is not free. A breakdown of one build, timed as the fastest of 120 calls on the same Mac:

BuildFastest callAdded
Base, graft removed by the compiler20.83 ms—
Graft, draft logits out24.66 ms+3.83 ms
Graft with on-device argmax27.41 ms+2.75 ms

That build added 6.58 ms, or 31.6%, per call. The largest single piece is the draft’s argmax over a 151,936-token vocabulary, which runs as 17 CPU operations.

A separate settled-loop measurement with a different harness recorded 18.98 ms per base call and 22.98 ms per graft call, and a draft acceptance of 63.16% open-loop and 65.66% against an oracle, over 80 rounds on 3 prompts. A graft call that yields about 1.6 tokens can cover a call that is about 21% longer. The tokens-per-second figures in that receipt are calculated from those two measurements, not timed generation, so we do not quote them as a speedup.

The one timed generation run forced every draft to be accepted: 65.1 against 37.7 tokens per second, over three 50-token trials. That is an upper bound, not a result at real acceptance.

03The per-call floor

The cost of a call shows up plainly in a simpler test. Five fixed-shape builds of a two-layer LFM2.5 slice processed 1, 4, 8, 16 and 64 tokens per call. Each ran 21 timed calls after one warmup, with seeded random inputs.

Tokens per callOpsFastest callMedian callPer token
115114.09 ms15.14 ms14.09 ms
477115.16 ms15.96 ms3.79 ms
879914.42 ms15.19 ms1.80 ms
1685514.89 ms15.76 ms0.93 ms
64119115.26 ms16.21 ms0.24 ms

A 64-fold range of tokens and an eightfold range of operations moved the call time by about a millisecond. At this depth the call is the cost. That is what speculative decoding and batching try to amortize, and it is why a graft that adds milliseconds to every call has to earn them back. A full model does far more work per call, so this floor is a property of shallow graphs, as N/003 found for batch sweeps.

04What this does and does not show

Experimental takeaway

Prove correctness, then check placement with MLComputePlan, then time the call. A graph can pass the first gate and fail either of the others, and “requested the Neural Engine” is not “ran on the Neural Engine”.

The ring graft is a negative result for that design as measured: correct, but not on the Neural Engine. The EAGLE graft is on the Neural Engine and correct, and its net value is still open until generation is timed at real acceptance. Neither result says what other designs can do.

05Reproducibility boundary

ReceiptDateSHA-256 (first 16)
ringgraft_phaseb_l4_speculative_attention_e2e_20260827.md27 Aug 2026a99573dc5dcf649f
RINGGRAFT_ANE_PLACEMENT_PROOF_20260827.md27 Aug 20260a07dbfa7122487b
talon_d1/RESULTS.md (EAGLE numerics)24 Jun 20261970b64dfa33c8b4
talon_d1/D3_overhead.md (EAGLE dispatch)25 Jun 20269dfdc9a1921ba1b2
e2e_bench_d061.json (EAGLE acceptance)24 Jun 2026ccbafc1765ba2e9e
e2e_bench_d059.txt (forced acceptance)24 Jun 2026a802e93f7ec5c3af
spec_decode_latency_2026-07-27.md27 Jul 202627ece053b77cf0dc

The ring graft placement receipt pins the compiled artifact tree hashes (6f085676c39b25cc… for 16 slots, 39baaf80ff547d11… for 514) and its placement JSONs. The call-floor receipt records compiler 3520.5.1. None of these receipts records the device model or OS version, and the EAGLE receipts were committed to the repository on 24 and 25 June 2026.

Source: ane-re receipts and data directories. Referenced artifacts are not public downloads.