File size: 12,720 Bytes
28c70af
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# bankml 0.2.13 release gate — 2026-09-29T23:12:30Z
# rustc 1.95.0 (59807616e 2026-04-14) · AMD Ryzen 3 3200U with Radeon Vega Mobile Gfx · 4 threads
unittests: test result: ok. 60 passed; 0 failed; 31 ignored; 0 measured; 0 filtered out; finished in 0.68s
testing/cli.rs: test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
clippy: clean
spdx: 61/61 files carry the licence of their layer
ok   need_more
ui data layer: all ok
postgres connector (throwaway cluster): all ok
iNFT mint and load (throwaway anvil devnet): all ok
model importer (loopback source; carrier on spare ports): all ok
28/28 agree
## oracle_tokenizer
tokenizer oracle: 4258 of 4258 cases token-identical to llama.cpp b11192
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.34s
## oracle_chat_template
chat-template oracle: 317 of 317 conversations byte-identical to llama.cpp b11192
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.01s
## oracle_forward_embed_norm
forward oracle: inp_embd 300 of 300 rows and attn_norm-0 300 of 300 rows bit-exact against the shipped ggml b11192
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.19s
## oracle_forward_qkv_rope
forward oracle: layer-0 Qcur/Kcur/Vcur 140 of 140 rows (28 tokens at positions 0–27 and 7–63214, YaRN attn_factor 1) bit-exact against the shipped ggml b11192
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.14s
## oracle_forward_attention
forward oracle: layer-0 kqv_out/attn_out/ffn_inp/l_out 112 of 112 rows (28 tokens, causal, f16 K/V) bit-exact against the shipped ggml b11192
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.44s
## oracle_forward_attention_tiled
forward oracle: tiled flash attention 150 of 150 rows bit-exact against the shipped ggml b11192 (the reference kernel would match 1)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 1.50s
## oracle_forward_attention_split
forward oracle: split-KV flash attention 14 of 14 decode rows (257–1,000 cells, 3 and 4 threads) bit-exact against the shipped ggml b11192
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.89s
## oracle_forward_swiglu_sweep
forward oracle: swiglu 24600 of 24600 values bit-exact against the shipped ggml b11192 (±120 and the edges)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.01s
## oracle_forward_model
forward oracle: Bonsai-8B-Q1_0: whole model 1064 of 1064 rows (36 layers' l_out, result_norm, logits × 28 tokens; greedy token 28 of 28) bit-exact against the shipped ggml b11192 — 14.8 s, 4 threads
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 14.90s
## oracle_forward_model_ternary
forward oracle: Ternary-Bonsai-8B-Q2_0_g64: whole model 1064 of 1064 rows (36 layers' l_out, result_norm, logits × 28 tokens; greedy token 28 of 28) bit-exact against the shipped ggml b11192 — 13.1 s, 4 threads
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 13.30s
## oracle_greedy_llama_server
greedy oracle: Bonsai-8B-Q1_0: 6 of 6 chat prompts generate llama-server b11192's tokens exactly (164 tokens, ends of turn included) — 156 s, 4 threads
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 156.54s
## oracle_greedy_llama_server_ternary
greedy oracle: Ternary-Bonsai-8B-Q2_0_g64: 6 of 6 chat prompts generate llama-server b11192's tokens exactly (140 tokens, ends of turn included) — 103 s, 4 threads
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 102.73s
## oracle_greedy_llama_server_long
greedy oracle: long-Bonsai-8B-Q1_0: 6 of 6 chat prompts generate llama-server b11192's tokens exactly (117 tokens, ends of turn included) — 347 s, 4 threads
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 347.62s
## oracle_greedy_llama_server_deep
greedy oracle: deep-Bonsai-8B-Q1_0: 3 of 3 chat prompts generate llama-server b11192's tokens exactly (600 tokens, ends of turn included) — 725 s, 4 threads
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 724.89s
## oracle_sample_llama_server
sample oracle: 40 of 40 seeded continuations identical to llama-server b11192's (1175 tokens; top-k, top-p, min-p, temperature, the mt19937 draw)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 677.10s
## gpu_q1_0_mat_vec_bit_exact
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec 64×128: 64 of 64 rows bit-exact against the CPU kernel (1.70 ms; CPU 1 thread 0.00 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec 1000×512: 1000 of 1000 rows bit-exact against the CPU kernel (0.45 ms; CPU 1 thread 0.06 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec 4096×4096: 4096 of 4096 rows bit-exact against the CPU kernel (3.32 ms; CPU 1 thread 2.68 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec 1024×12288: 1024 of 1024 rows bit-exact against the CPU kernel (4.35 ms; CPU 1 thread 1.48 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec 12288×4096: 12288 of 12288 rows bit-exact against the CPU kernel (8.99 ms; CPU 1 thread 9.18 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec8 64×128: 64 of 64 rows bit-exact against the CPU kernel (1.99 ms; CPU 1 thread 0.00 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec8 1000×512: 1000 of 1000 rows bit-exact against the CPU kernel (0.74 ms; CPU 1 thread 0.10 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec8 4096×4096: 4096 of 4096 rows bit-exact against the CPU kernel (4.32 ms; CPU 1 thread 3.35 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec8 1024×12288: 1024 of 1024 rows bit-exact against the CPU kernel (3.71 ms; CPU 1 thread 2.73 ms)
gpu AMD Radeon Vega 3 Graphics (RADV RAVEN2): q1_0_mat_vec8 12288×4096: 12288 of 12288 rows bit-exact against the CPU kernel (7.67 ms; CPU 1 thread 8.11 ms)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 1.28s
## oracle_train_script
train oracle: author stage 84 of 84 scripts byte-identical to mindXtrain's scripts.py
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.03s
## oracle_train_imprint
train oracle: score stage 3000 of 3000 imprint reports identical to mindXtrain's score_imprint (lexical path)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.13s
## oracle_ggml_b11192_real_bonsai_1_7b
oracle: 197 tensors / 1719904256 weights dequantized bit-exact; 788 q8_0 rows byte-exact; 788 vec_dot and vec_dot_act bit-exact vs ggml AVX2; generic port == ggml generic in 788/788
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 9.79s
## oracle_ggml_b11192_real_bonsai_8b_q1_0
oracle: 254 tensors / 8188239872 weights dequantized bit-exact; 762 q8_0 rows byte-exact; 762 vec_dot and vec_dot_act bit-exact vs ggml AVX2; generic port == ggml generic in 762/762
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 38.58s
## oracle_ggml_b11192_real_ternary_bonsai_8b
oracle: 254 Q2_0 tensors / 8188239872 weights dequantized bit-exact; 762 q8_0 rows byte-exact; 762 vec_dot_ref, vec_dot_act (AVX2) and scalar bit-exact vs ggml haswell; no-FMA model == ggml x64 in 762/762
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 38.94s
## ab_vs_ggml
GEMV 12288x4096, ns/block min/median: bankml mat_vec 9.94/10.12 (1.013x ggml median)
GEMV 12288x4096, ns/block min/median: ggml b11192 10.16/10.26 | bankml vec_dot 10.99/11.14 (0.921x) | bankml vec_dot_act 9.87/10.17 (1.009x)
prefill 1024x4096 x 32 cols, ns/(block·col) min/median: ggml per-pair 10.08/10.13 | bankml 1x4 tile 9.18/9.19 (1.102x) | bankml Q8Act tile 8.22/8.25 (1.228x)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.90s
## ab_vs_ggml_q2_0
decode GEMV, 1 thread, ns/block (64 weights) min/median, ms/matmul = median:
  blk.0.attn_q.weight          4096x4096  ggml  33.49/ 34.36 (    9.0 ms) | bankml  3.49/ 3.52 (   0.9 ms) |  9.75x
  blk.0.attn_k.weight          1024x4096  ggml  33.94/ 34.46 (    2.3 ms) | bankml  3.43/ 3.46 (   0.2 ms) |  9.97x
  blk.0.attn_output.weight     4096x4096  ggml  34.04/ 34.40 (    9.0 ms) | bankml  3.48/ 3.54 (   0.9 ms) |  9.72x
  blk.0.ffn_gate.weight       12288x4096  ggml  34.14/ 34.36 (   27.0 ms) | bankml  3.52/ 3.57 (   2.8 ms) |  9.62x
  blk.0.ffn_down.weight        4096x12288 ggml  34.08/ 34.26 (   26.9 ms) | bankml  3.52/ 3.56 (   2.8 ms) |  9.63x
  output.weight              151669x4096  ggml  34.51/ 34.61 (  336.0 ms) | bankml  3.57/ 3.59 (  34.9 ms) |  9.64x
activation n=4096: q8_0 quantize 26.2 µs + bankml layout 7.4 µs (median)
activation n=12288: q8_0 quantize 95.2 µs + bankml layout 21.4 µs (median)
prefill 1024x4096 x 32 cols, ns/(block·col) min/median: ggml per-pair 34.35/34.49 | bankml mat_vec per column 3.47/3.48 (9.91x) | bankml 1x4 tile 2.77/2.78 (12.41x)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 4.52s
## bench_q1_0_prefill_act
prefill 1024x4096 x 32 ns/(block·col) min/median: 1x4 (q8 bytes) 9.09/9.21 | 1x4 sel (Q8Act) 8.12/8.32 (1.107x)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 0.18s
## bench_memory_floor
1 thread(s): 16.64 GB/s read → floor for one ternary token (2.13 GB) 0.128 s, one 1-bit token (1.06 GB) 0.064 s
2 thread(s): 17.49 GB/s read → floor for one ternary token (2.13 GB) 0.122 s, one 1-bit token (1.06 GB) 0.061 s
3 thread(s): 17.52 GB/s read → floor for one ternary token (2.13 GB) 0.122 s, one 1-bit token (1.06 GB) 0.060 s
4 thread(s): 17.48 GB/s read → floor for one ternary token (2.13 GB) 0.122 s, one 1-bit token (1.06 GB) 0.061 s
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 1.57s
## decode_budget_q1_0
decode budget: 253 Q1_0 matmuls, 7567003648 weights (1.06 GB of blocks) per token
  1 thread(s): ggml b11192 0.603/0.651 s/token (min/median) | bankml 0.600/0.609 | 1.07x | matmul-only ceiling ggml 1.66, bankml 1.67 tok/s
  2 thread(s): ggml b11192 0.448/0.450 s/token (min/median) | bankml 0.406/0.463 | 0.97x | matmul-only ceiling ggml 2.23, bankml 2.46 tok/s
  3 thread(s): ggml b11192 0.328/0.341 s/token (min/median) | bankml 0.340/0.343 | 1.00x | matmul-only ceiling ggml 3.05, bankml 2.94 tok/s
  4 thread(s): ggml b11192 0.338/0.339 s/token (min/median) | bankml 0.350/0.352 | 0.96x | matmul-only ceiling ggml 2.96, bankml 2.86 tok/s
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 13.32s
## decode_budget_q2_0
decode budget: 253 Q2_0 matmuls, 7567003648 weights (2.13 GB of blocks) per token
  1 thread(s): ggml b11192 4.087/4.099 s/token (min/median) | bankml 0.426/0.428 s/token | 9.60x | matmul-only ceiling ggml 0.24, bankml 2.35 tok/s
      attn_k       ggml  0.082 s  bankml  0.009 s  (mean of 3 passes)
      attn_output  ggml  0.328 s  bankml  0.034 s  (mean of 3 passes)
      attn_q       ggml  0.327 s  bankml  0.034 s  (mean of 3 passes)
      attn_v       ggml  0.081 s  bankml  0.009 s  (mean of 3 passes)
      ffn_down     ggml  0.996 s  bankml  0.102 s  (mean of 3 passes)
      ffn_gate     ggml  0.979 s  bankml  0.103 s  (mean of 3 passes)
      ffn_up       ggml  0.981 s  bankml  0.102 s  (mean of 3 passes)
      output       ggml  0.338 s  bankml  0.035 s  (mean of 3 passes)
  3 thread(s): ggml b11192 2.188/2.191 s/token (min/median) | bankml 0.221/0.237 s/token | 9.89x | matmul-only ceiling ggml 0.46, bankml 4.52 tok/s
      attn_k       ggml  0.045 s  bankml  0.005 s  (mean of 3 passes)
      attn_output  ggml  0.175 s  bankml  0.019 s  (mean of 3 passes)
      attn_q       ggml  0.175 s  bankml  0.019 s  (mean of 3 passes)
      attn_v       ggml  0.045 s  bankml  0.005 s  (mean of 3 passes)
      ffn_down     ggml  0.525 s  bankml  0.054 s  (mean of 3 passes)
      ffn_gate     ggml  0.529 s  bankml  0.056 s  (mean of 3 passes)
      ffn_up       ggml  0.526 s  bankml  0.056 s  (mean of 3 passes)
      output       ggml  0.172 s  bankml  0.018 s  (mean of 3 passes)
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 90 filtered out; finished in 28.20s
# gate done