A GiraffStack, Inc. Project|BENCH ONLINE · K16 NATIVE UBUNTU · PI 5 + HAILO-8 VERIFIED K16 EVIDENCE · HEF GATE: COMPILE+LOAD VERIFIED
Local AI · No Subscriptions EVER for LIFE
No Personal Data Stored · Nothing to Leak · Trust WE Built to Never Break

Independent Edge-AI Bench

Independent
Hailo-8 BenchNotes from real hardware

The GMKtec K16 runs the compile and test pipeline on native Ubuntu with real RAPL, thermal, and CPU-frequency telemetry. The Raspberry Pi 5 with full Hailo-8 runs isolated edge-load checks. Published numbers are measured, bounded, and labeled — nothing is claimed before it is recorded.

Verified on bench Pending test Safety / control Blocked from publish
01

Real hardware evidence

Stored hardware evidence from native-Ubuntu runs on the K16. Verified data only — every figure below is recorded bench output, not a projection. Hailo HEF compile + on-device load is now verified — see the gate result below.

Native telemetry
3 / 3
RAPL · thermal · cpufreq
exposed on native Ubuntu
Selectivity
PASS
normal/heavier rejected 5/5
tuned/lighter promoted
Sweep boundary
13 / 16
selective normal/tuned
intensity pairs
Load soak
SAFETY
6/6 burn workers · tuned
blocked by safety gate

Recorded run logic

WSL2 capacity chain
5/5 phase passnon-native telemetry · CV max 0.0022
Native Ubuntu telemetry
RAPL · thermal · cpufreqreal x86 bench surface
Selectivity — normal/heavier
rejected 5/5efficiency gate
Selectivity — tuned/lighter
promotedafter repeatability cleared
Cold-reboot reproducibility
reproducedreview-fixed parser, raw preserved
Parameter sweep
13/16 selectiveboundary map, not universal pass
Load soak under pressure
safety dominancenegative control, not a promotion

Claim firewall

Public now
K16 evidence + equipment
Verified
HEF compile + Pi load — 185 FPS / 927 frames / int8
Verified
Production HEF (opt-2 + QAT) + Pi load — 220 FPS / 6610 frames / int8
Blocked
secrets, thresholds, internal access
Blocked
unmeasured Hailo FPS / latency
Blocked
inactive / non-bench hardware

RTX 5070 Ti (Copperhead) — detection & CUDA capability gate. The eGPU is physically attached to the K16. Before any benchmark, the Blackwell sm_120 compute kernels are proven live with a real CUDA matmul — detection alone is not proof.

Device
5070 Ti
NVIDIA Blackwell
16,303 MiB VRAM
Driver
595.71
driver 595.71.05
CUDA 13-era
Compute
sm_120
capability (12, 0)
kernels verified live
CUDA gate
PASS
2000×2000 matmul
executed on device
GIGABYTE RTX 5070 Ti WINDFORCE OC SFF 16G
RTX 5070 Ti
WINDFORCE OC SFF 16G
✓ KERNELS LIVE
ArchBlackwell (sm_120)
Cores8,960 CUDA
VRAM16GB GDDR7
Bus256-bit
Boost2,497 MHz
TDP~300 W
VS
GIGABYTE Radeon RX 9070 XT GAMING OC 16G
RX 9070 XT
GAMING OC 16G
● INCOMING
ArchRDNA 4
Cores4,096 / 64 CU
VRAM16GB GDDR6
Bus256-bit
Boost3,060 MHz
TDP304 W

RTX 5070 Ti: verified, benchmarked below. RX 9070 XT: manufacturer spec, incoming hardware — not yet tested. Side-by-side is a roadmap, not a measured result.

giraffstack@Architrov:~$ nvidia-smi --query-gpu=name,driver_version,memory.total,temperature.gpu --format=csv
name, driver_version, memory.total [MiB], temperature.gpu
NVIDIA GeForce RTX 5070 Ti, 595.71.05, 16303 MiB, 35

giraffstack@Architrov:~$ python3 -c "import torch; ... ; x@x on cuda"
torch: 2.11.0+cu128
device: NVIDIA GeForce RTX 5070 Ti
capability: (12, 0)
CUDA matmul OK - sm_120 kernels live, result sum: 2000339456.0

Test 1 — device detection + sm_120 CUDA capability gate · recorded bench output

RTX 5070 Ti (Copperhead) — yolov8s fp16 @ 640, single-stream batch=1, raw PyTorch forward pass. This is the GPU running naive: one frame at a time, no batching, no engine optimization. The number it posts — and why it’s lower than you’d expect — sets up the two improvements that follow (TensorRT optimization, and batch scaling).

Throughput
172.7
img/s · batch=1
raw torch forward
Latency
5.77
ms / frame
single inference
Power
66
watts drawn
of ~300 W ceiling
Utilization
~20%
GPU starved
at batch=1
SILICON UTILIZATION - RTX 5070 Ti 70 streaming multiprocessors - single-stream batch=1 PIPE UTILIZATION Memory39.9% LSU15.6% FMA9.6% ALU7.5% DRAM4.4% tap a pipe for measured detail across 15 kernels ACTIVE SM 14 / 70 UTILIZATION ~20% IDLE SM 56 At batch=1, 56 of 70 SMs sit idle - the GPU is starved. Batching lights the rest up.
giraffstack@Architrov:~$ python3 bench_single.py   # live
  throughput   : 0.0 FPS
  mean latency : 0.00 ms
  GPU power    : 0.0 W 
giraffstack@Architrov:~$ python3 bench_single.py   # yolov8s fp16 @ 640, batch=1
  model        : yolov8s.pt (fp16)
  resolution   : 640 x 640
  iterations   : 300 (after 30 warmup)
  mean latency : 5.77 ms
  throughput   : 172.7 FPS
  GPU power    : 66.2 W mean / 73.8 W peak

Test 2a — single-stream raw PyTorch baseline · recorded bench output

RTX 5070 Ti (Copperhead) — the optimized GPU artifact. Same yolov8s, compiled to a TensorRT engine (the CUDA equivalent of a Hailo HEF), FP16, tuned to this exact card. The payoff: a 3.3x jump over raw PyTorch, same silicon. Five runs with cooldown; median reported, full spread shown.

TensorRT median
563
FPS · end-to-end
465-588 range
Latency
1.78
ms / frame
vs 5.77 raw
Perf / watt
11.5
FPS/W · 49 W
4.4x vs raw torch
Engine
23 MB
FP16 · TensorRT 11.1
tuned to sm_120
OPTIMIZATION JUMP - SAME MODEL, SAME SILICON yolov8s @ 640, batch=1 - raw PyTorch vs TensorRT engine 0150300450600 FPS 173 raw torch 563 TensorRT 3.3x
5-RUN CONSISTENCY - TENSORRT ENGINE signal trace - median reference, spread band shown 600550500450 median 563 565563588465466 run 1run 2run 3run 4run 5
giraffstack@Architrov:~$ python3 trt_bench.py   # 5 runs + cooldown
  artifact     : yolov8s.engine (TensorRT 11.1, FP16)
  median FPS   : 0.0 FPS
  latency      : 0.00 ms
  perf/watt    : 0.0 FPS/W 
giraffstack@Architrov:~$ yolo export model=yolov8s.pt format=engine half=True
  TensorRT: building FP16 engine as yolov8s.engine
  TensorRT: export success, saved as 'yolov8s.engine' (23.2 MB)
  Engine generation completed in 14.09 seconds.

  run 1: 565.5 FPS | run 2: 563.1 | run 3: 587.5 | run 4: 465.0 | run 5: 466.3
  MEDIAN: 563.1 FPS | 49.3 W | 11.09 FPS/W | range 465-588

Test 3 - yolov8s TensorRT engine - end-to-end, 5 runs + cooldown - recorded bench output

RTX 5070 Ti (Copperhead) — the compute ceiling. A raw fp16 matmul (8192×8192) pushes the silicon flat-out: 97 TFLOPS at 300 W peak. This is the number that explains the batch sweep — inference only ever reached 235 W, so it was bandwidth-bound, never compute-bound. The ALUs had more to give; yolov8s just couldn’t feed them fast enough.

FP16 compute
97.0
TFLOPS sustained
3 runs, ±0.6
Peak power
300
watts · the real
silicon ceiling
Per matmul
11.3
ms · 8192³×2
fp16 GEMM
Efficiency
454
GFLOPS/W
at full tilt
COMPUTE CEILING - RTX 5070 Ti raw fp16 matmul - instrument readout 0 12 24 36 48 60 72 84 96 108 120 97 TFLOPS fp16 0 35 70 105 140 175 210 244 280 315 350 300 watts peak
giraffstack@Architrov:~$ python3 matmul_tflops.py   # 8192x8192 fp16, 3 runs
  run 1: 0.0 TFLOPS
  run 2: 0.0 TFLOPS
  run 3: 0.0 TFLOPS
  MEAN: 97.0 TFLOPS | 213.7 W mean / 300.0 W peak | 454 GFLOPS/W 

Test 4 - raw fp16 matmul compute ceiling - 3 runs - recorded bench output

RTX 5070 Ti (Copperhead) — yolov8s fp16 @ 640, batch sweep 1→128, three runs per batch. The finding is the shape: throughput peaks at batch=16 then declines while power keeps climbing — the GPU saturates at 16, and bigger batches only add latency. Not VRAM-bound; compute-bound.

Single-stream
172.7
img/s · batch=1
66.2 W
Peak throughput
1175
img/s · batch=16
235.6 W
Saturation
batch=16
throughput falls
past this point
At batch=128
982
img/s · 264.7 W
more power, less speed
THROUGHPUT vs BATCH SIZE yolov8s fp16 @ 640 · RTX 5070 Ti 0300600 9001200 0100200300 1816 3264128 batch size PEAK 1175 throughput (img/s) power (W)
giraffstack@Architrov:~$ python3 sweep.py   # yolov8s fp16 @ 640, 3 runs/batch
  batch   img/s      GPU W     img/s/W
      1     172.7      66.2       2.62
      8    1150.2     181.9       6.61
     16    1175.2     235.6       4.99   <- peak
     32    1098.7     253.9       4.33
     64    1016.4     258.8       3.93
    128     982.0     264.7       3.71
  PEAK THROUGHPUT: 1175.2 img/s at batch=16 (235.6W)

Test 2b — yolov8s CUDA batch sweep · mean of 3 runs each · recorded bench output

The A_SW anomaly engine, validated on real hardware (native Ubuntu, Live USB). 16 normal/tuned intensity pairs, each run five cycles. Green = selective (normal phase rejected all five, tuned promoted). Amber = review (normal did not reject all five) — marked honestly, not hidden. 13 of 16 selective is more credible than a clean 16; the boundary is where the method earns trust.

PARAMETER SWEEP BOUNDARY 16 normal/tuned intensity pairs - A_SW anomaly engine - native Ubuntu 13 SELECTIVE 3 REVIEW 1.25 / .50 SELECTIVE 1.25 / .40 SELECTIVE 1.25 / .35 REVIEW 1.25 / .30 SELECTIVE 1.50 / .50 SELECTIVE 1.50 / .40 SELECTIVE 1.50 / .35 SELECTIVE 1.50 / .30 SELECTIVE 1.75 / .50 SELECTIVE 1.75 / .40 SELECTIVE 1.75 / .35 REVIEW 1.75 / .30 SELECTIVE 2.00 / .50 REVIEW 2.00 / .40 SELECTIVE 2.00 / .35 SELECTIVE 2.00 / .30 SELECTIVE Green = normal phase rejected all 5 cycles, tuned promoted. Amber = normal did not reject all 5 - marked honestly, not hidden.

Three silicon targets, same yolov8s workload, all measured on real hardware. The result is not a single winner — it is two different races. The optimized GPU wins raw throughput; the edge accelerator wins efficiency by a wide margin at a fraction of the power. The right tool depends on what you are optimizing for.

REAL HARDWARE, REAL NUMBERS
the silicon on the bench, wired to the data it produced
Hailo-8 M.2 AI accelerator module
HAILO-8
edge accelerator · 3.25 W
THROUGHPUT (FPS)
TensorRT
563
Hailo-8
220
Raw torch
173
EFFICIENCY (FPS/W)
Hailo-8
67.7
TensorRT
11.5
Raw torch
2.6
Copperhead RTX 5070 Ti eGPU rig
COPPERHEAD RIG
RTX 5070 Ti eGPU · K16
TARGETPRECISIONFPSPOWERFPS / WBEST FOR
TensorRT (5070 Ti)fp1656349 W11.5max throughput
Raw torch (5070 Ti)fp1617366 W2.6baseline
CUDA peak (5070 Ti)fp161175236 W5.0batch=16 server
Hailo-8 (edge)int82203.25 W67.7efficiency / edge
giraffstack@Architrov:~$ python3 summarize.py   # cross-target rollup
  throughput winner : TensorRT @ 0 FPS
  efficiency winner : Hailo-8 @ 0.0 FPS/W
  efficiency edge   : 0.0x vs optimized GPU, at 15x less power 

Cross-target comparison - all values measured on real hardware. FPS bases differ slightly: Hailo = hailortcli streaming, TensorRT = end-to-end predict, raw torch = forward pass. Reported as measured, not normalized.

IDLE FLOOR · RESTING PULSE
5 samples · idle floor at rest
35°C3-5W0% UTIL405 MHz

Idle-state GPU telemetry from the K16 / RTX 5070 Ti, captured with nvidia-smi dmon over 5 one-second samples on native Ubuntu. Recorded baseline — every figure below is measured output, not a projection. This is the resting floor the load benches climb from.

Idle temp
35°C
flat across 5 samples
zero thermal drift
Idle power
3–5 W
of 300 W cap
P8 low-power state
Idle clocks
405 / 180
sm / mem MHz
idle-gated
Utilization
0 %
sm 0% · mem 0–1%
true resting floor

Recorded samples

Sample 1
35°C · 3 Wsm 0% · 405/180 MHz
Sample 2
35°C · 4 Wsm 0% · 405/180 MHz
Sample 3
35°C · 5 Wsm 0% · 405/180 MHz
Sample 4
35°C · 4 Wsm 0% · mem 1%
Sample 5
35°C · 4 Wsm 0% · 405/180 MHz

What this proves

Thermal stability
35°C flatno idle heat creep
Power floor
3–5 Wclean P8 gating
Clock gating
405/180 MHzidle downclock working
Headroom to cap
295 Wavailable under load
giraffstack@Architrov:~$ nvidia-smi dmon -c 5   # idle telemetry, 5 samples
  # gpu    pwr  gtemp     sm    mem   mclk   pclk
      0      3     35      0      0    405    180
      0      4     35      0      0    405    180
      0      5     35      0      0    405    180
      0      4     35      0      1    405    180
      0      4     35      0      0    405    180 

Idle-state baseline - RTX 5070 Ti on the K16, native Ubuntu, nvidia-smi dmon, 5 one-second samples. Reported as measured, not normalized.

CLOCK RAMP · LADDER
405→13801 MHz · 34× · 143 tok/s · 29 W · 36°C
RTX 5070 Ti eGPU rig
this machine did these numbers

Load-state telemetry from the K16 / RTX 5070 Ti during a live llama3.1:8b generation, captured with nvidia-smi dmon on native Ubuntu. The idle→load delta below is the proof of engagement: clocks ramp 34x, power climbs 6–10x, while temp holds nearly flat. Compute throughput is measured separately at 143.35 tok/s. Recorded output, not a projection.

SM clock ramp
34x
405 → 13801 MHz
idle to load
Load power
29–30 W
from 3–5 W idle
sustained under gen
Temp under load
36°C
+1°C from idle
thermal headroom intact
Throughput
143
tok/s · llama3.1:8b
measured separately

Idle → load delta

SM clock
405 → 13801 MHz34x ramp under load
Memory clock
180 → 2490 MHz14x ramp
Power draw
3–5 → 29–30 Wsustained during generation
Temperature
35 → 36°C+1°C only · excellent

What this proves

GPU engaged
34x clock rampno idle-clock generation possible
Compute confirmed
143 tok/sthroughput = real work
Thermal ceiling
36°C at load~47°C headroom to throttle
Power headroom
270 W freeof 300 W cap at 8B load
giraffstack@Architrov:~$ nvidia-smi dmon -c 8   # during llama3.1:8b generation
  # gpu    pwr  gtemp     sm    mem   mclk   pclk
      0     30     36      2      0  13801   2505
      0     30     36      0      0  13801   2490
      0     29     36      0      0  13801   2490
      0     29     36      0      0  13801   2490
      0     29     36      0      0  13801   2490
      0     29     36      0      0  13801   2490
      0     29     36      0      0  13801   2490
      0     29     36      0      0  13801   2490 

Load-state telemetry - RTX 5070 Ti on the K16 during llama3.1:8b generation. Clocks and power are the sustained-load measure; sm reads low because dmon 1s cadence undersamples sub-second token bursts - throughput (143 tok/s) is the compute proof. Reported as measured, not normalized.

MEMORY RESIDENT · DUAL METERS
2 models of 15.9 GB · 7.9 used · 8.0 free · 73 W · 43°C · 100% GPU
llama3.1:8b 5.3 GB
llama3.2 2.6 GB
RTX 5070 Ti eGPU rig
Cuda "Copperhead" RTX 5070Ti + K16 Rig

Concurrent multi-model VRAM footprint on the K16 / RTX 5070 Ti, measured with ollama ps and nvidia-smi dmon on native Ubuntu. Two production models held resident at once, both 100% on GPU — no CPU spillover. Recorded output, not a projection.

Models resident
2
8B + 3B concurrent
both 100% GPU
VRAM used
7.9 GB
of 15.9 GB total
~50% of ceiling
Headroom
8.0 GB
free under 2-model load
room for a third
Load power
73 W
both models loaded
43°C

Resident models

llama3.1:8b
5.3 GB · 100% GPU4096 context
llama3.2:latest
2.6 GB · 100% GPU4096 context
Combined footprint
7.9 GBboth fully GPU-resident
CPU spillover
none0% CPU on both

What this proves

Concurrent capacity
2 models at onceno eviction, no swap
Ceiling headroom
8.0 GB freeof 16303 MiB
GPU placement
100% bothmeasured by ollama ps
Thermal at 2x load
43°C73 W · well under cap
giraffstack@Architrov:~$ ollama ps   # two models held resident
  NAME               SIZE      PROCESSOR    CONTEXT
  llama3.1:8b        5.3 GB    100% GPU     4096
  llama3.2:latest    2.6 GB    100% GPU     4096
  giraffstack@Architrov:~$ nvidia-smi dmon -c 1   # both loaded
  # gpu    pwr  gtemp   mclk   pclk
      0     73     43  13801   2895 

Concurrent multi-model VRAM footprint - RTX 5070 Ti on the K16, native Ubuntu. Model sizes and GPU placement from ollama ps; power/temp/clocks from nvidia-smi dmon. Two production models resident simultaneously at 7.9 GB of 15.9 GB. Reported as measured, not normalized.

FP16 GEMM · COMPUTE ARC
FP16 GEMM · Blackwell chip bg
95.4 TFLOPS FP16 11.52 ms/op8192³ · sm_12050 timed iters

Raw compute throughput on the K16 / RTX 5070 Ti, measured directly with PyTorch 2.12 (cu128) on native Ubuntu — not inference, but bare matrix-multiply (GEMM) FLOPS. An 8192×8192 FP16 matmul, 3 warmup then 50 timed iterations, CUDA-synchronized. This is the silicon's raw compute ceiling, distinct from the img/s inference numbers elsewhere. Recorded output, not a projection.

FP16 GEMM
95.4
TFLOPS
8192³ matmul
Per-op latency
11.52
ms / matmul
8192×8192 FP16
Compute cap
12.0
Blackwell sm_120
RTX 5070 Ti
Precision
FP16
half precision
tensor path

Measured GEMM run

Matrix size
8192 × 8192FP16 square GEMM
Warmup / timed
3 / 50 itersCUDA-synchronized
Throughput
95.4 TFLOPS2n³ FLOPs per op
Latency
11.52 ms/opsustained across 50

What this proves

Raw compute
95.4 TFLOPSnot inference - bare GEMM
Tensor path live
FP16 sm_120Blackwell tensor cores
Measured, not spec
PyTorch 2.12real timed run, cu128
Distinct metric
TFLOPS ≠ FPScompute ceiling, not throughput
giraffstack@Architrov:~$ python3 gemm_bench.py   # raw FP16 GEMM TFLOPS
  FP16 GEMM 8192x8192: 95.4 TFLOPS (11.52 ms/op)
  device: NVIDIA GeForce RTX 5070 Ti
  capability: (12, 0) 

Raw compute throughput - RTX 5070 Ti on the K16, native Ubuntu, PyTorch 2.12 cu128. 8192x8192 FP16 GEMM, 3 warmup + 50 timed iterations, CUDA-synchronized. FLOPs = 2n³ per op. Reported as measured, not normalized.

60S THERMAL SOAK · TWIN-TRACE
7 dmon samples · 17W→250W · 43→60°C · 771 GB/s · 2.78 ms
250W·60°C power Wtemp °C

Two measurements on the K16 / RTX 5070 Ti, native Ubuntu. Left: device memory bandwidth via PyTorch 2.12 (1 GB float32 copy). Right: a 60-second thermal soak under sustained llama3.1:8b load, sampled with nvidia-smi dmon every 5 seconds — the final sample caught the full compute burst at 250 W / 60°C. Recorded output, not a projection.

Memory bandwidth
771
GB/s device copy
1 GB float32
Copy latency
2.78
ms / 1 GB op
50 timed iters
Soak peak temp
60°C
at 250 W burst
~23°C to throttle
Peak load
250 W
sm 91% · mem 80%
full compute burst

Torch memory bandwidth

Device-to-device copy
771.2 GB/s1 GB float32 tensor
Per-op latency
2.78 ms3 warmup + 50 timed
Bytes moved
2 GB / opread + write, synced
Measured via
PyTorch 2.12cu128, not spec sheet

60s thermal soak

Idle floor
43°C · 17 W810/495 MHz
Sustained load
44–45°C · 30–35 W13801/2490 MHz, 60s
Peak burst
60°C · 250 Wsm 91% · mem 80%
Thermal headroom
~23°Cto throttle at peak
giraffstack@Architrov:~$ python3 bw_bench.py   # torch memory bandwidth
  device-to-device copy: 771.2 GB/s (2.78 ms/op)
  device: NVIDIA GeForce RTX 5070 Ti
  giraffstack@Architrov:~$ nvidia-smi dmon -c 12 -d 5   # 60s thermal soak, llama3.1:8b
  # gpu    pwr  gtemp     sm    mem   mclk   pclk
      0     17     43      0      0    810    495
      0     42     44      0      0  13801   2880
      0     31     44      0      0  13801   2490
      0     30     44      0      0  13801   2490
      0     35     44      0      0  13801   2505
      0     31     45      0      0  13801   2490
      0    250     60     91     80  13801   2865 

Torch memory bandwidth + 60s thermal soak - RTX 5070 Ti on the K16, native Ubuntu. Bandwidth: 1 GB float32 device copy, PyTorch 2.12 cu128. Soak: nvidia-smi dmon, 12 samples over 60s under sustained llama3.1:8b load; peak sample 250 W / 60°C / sm 91%. Reported as measured, not normalized.

The fourth silicon target — queued, not yet tested. A 67-TOPS Tensor-core edge module that slots between the 3 W Hailo-8 and the 300 W desktop GPU. Where does it land on the throughput-vs-efficiency map? That is the next benchmark. Everything below is manufacturer spec; no workload has run on it yet.

Raspberry Pi AI HAT+ 2 with Hailo-10H accelerator
● QUEUED · ARRIVES ~2 WEEKS
Raspberry Pi AI HAT+ 2 · Hailo-10H
40 TOPS edge accelerator · for Raspberry Pi 5
AcceleratorHailo-10H NPU
AI performance40 TOPS (INT4)
On-board RAM8 GB LPDDR4X (dedicated)
Power~2.5 W active inference
InterfacePCIe Gen 3 · Pi 5 HAT+
New capabilitylocal LLMs / VLMs on-chip
NOT YET BENCHMARKED — the upgrade path from Hailo-8: same Pi 5, now runs generative AI locally
NVIDIA Jetson Orin Nano Super Developer Kit
● QUEUED · ARRIVES ~4-6 WEEKS
NVIDIA Jetson Orin Nano Super
Developer Kit · Ampere architecture
GPU1,024-core Ampere · 32 Tensor cores
AI performance67 TOPS (INT8, Super) · 40 TOPS base
CPU6-core Arm Cortex-A78AE
Bandwidth102 GB/s
Power7-25 W configurable
Statusawaiting hardware
NOT YET BENCHMARKED — tests coming once hardware arrives

Specs from NVIDIA. No measurement has been taken on this device. This card is a roadmap placeholder, clearly labeled as future work.

Find Your SetupHARDWARE INDEX
Every rig we run or know — mapped by family. Tap a family to find your exact model, see the wall you're hitting, and how we clear it. Years of company-built labs and edge-AI tech in one index — Don't see your system listed below? Don't worry → Tell us what system you have and chances are we know it!
tap ›
GMKtec Mini-PCs
7 MODELS
tap ›
GPU Cards
12 MODELS
tap ›
Fruit Pi's
5 MODELS
tap ›
Hailo Accelerators
3 MODELS
tap ›
Pironman
3 MODELS
tap ›
Jetson
3 MODELS
tap ›
HQ Laptops
3 MODELS
tap ›
eGPU Docks
4 MODELS
tap ›
Power Supplies
3 MODELS
tap ›
Cameras / Vision
2 MODELS
tap ›
Accessories
4 MODELS
ROADMAPtap ›
▲ Working Towards
NVIDIA IGX ORIN
GMKtec Mini-PCs
our x86 compile / bench hosts · tap your model for its build walls
×
WE KNOW IT
K8 Plus
tap ›
WE KNOW IT
K10
tap ›
WE KNOW IT
K11
tap ›
WE KNOW IT
K12
tap ›
WE KNOW IT
K13
tap ›
WE KNOW IT
K15
tap ›
WE RUN IT
K16
tap ›
GPU Cards
CUDA + ROCm inference cards · tap your model for its build walls
×
WE KNOW IT
RTX 4090
tap ›
WE KNOW IT
RTX 5060
tap ›
WE KNOW IT
RTX 5060 Ti
tap ›
WE RUN IT
RTX 5070
tap ›
WE RUN IT
RTX 5070 Ti
tap ›
WE KNOW IT
RTX 5090
tap ›
WE KNOW IT
RX 6600
tap ›
WE KNOW IT
RX 6750 XT
tap ›
WE KNOW IT
RX 7900 XTX
tap ›
INCOMING
RX 9060
tap ›
WE KNOW IT
RX 9070 GRE
tap ›
INCOMING
RX 9070 XT
tap ›
Fruit Pi's
single-board computers · tap your model for its build walls
×
WE RUN IT
Raspberry Pi 4
tap ›
WE RUN IT
Raspberry Pi 5 + Hailo-8
tap ›
WE RUN IT
Raspberry Pi 5
tap ›
WE RUN IT
Orange Pi
tap ›
WE KNOW IT
Banana Pi
tap ›
Hailo Accelerators
M.2 edge AI accelerators · tap your model for its build walls
×
WE RUN IT
Hailo-8L
tap ›
WE RUN IT
Hailo-8
tap ›
INCOMING
Hailo-10H
tap ›
Pironman
Pi enclosures + cooling · tap your model for its build walls
×
WE RUN IT
Pironman 5 Max
tap ›
WE KNOW IT
Pironman 5
tap ›
WE RUN IT
Pironman 5 Pro Max
tap ›
Jetson
NVIDIA edge modules · tap your model for its build walls
×
INCOMING
Orin Nano Super Dev Kit
tap ›
WE KNOW IT
Jetson AGX Orin Dev Kit
tap ›
WE KNOW IT
Jetson TX2 NX
tap ›
HQ Laptops
mobile compute · tap your model for its build walls
×
WE RUN IT
HP Victus 15.6
tap ›
WE KNOW IT
HP Omen 16
tap ›
WE KNOW IT
ROG Strix G16
tap ›
eGPU Docks
external GPU enclosures · tap your model for its build walls
×
WE RUN IT
DEG1
tap ›
WE KNOW IT
DEG2
tap ›
WE KNOW IT
AOOSTAR AG02
tap ›
WE KNOW IT
Peladn S-3
tap ›
Power Supplies
PSUs · tap your model for its build walls
×
WE RUN IT
Corsair RM1000x
tap ›
WE KNOW IT
Super Flower Leadex VIII 1000W
tap ›
WE KNOW IT
Thermaltake Toughpower GT 1000W
tap ›
Cameras / Vision
vision + facial-rec · tap your model for its build walls
×
WE RUN IT
Raspberry Pi Camera
tap ›
WE KNOW IT
Arducam 8MP Camera
tap ›
Accessories
cables, power, storage, cooling · tap your model for its build walls
×
WE RUN IT
Gigaplus GP S25 PoE switch
tap ›
WE RUN IT
Amazon Basics UPS 1500VA/900W
tap ›
WE RUN IT
Bestoss 1TB NVMe SSD
tap ›
WE RUN IT
CableMod C-Series Pro 12V-2x6 (blue)
tap ›
Bestoss 1TB NVMe SSD
three SKUs in the rack · PCIe 3.0 & 4.0 NVMe
×
WE RUN IT
GM988 · PCIe 4.0
7350 MB/s
WE RUN IT
GM228 · PCIe 3.0
2400 MB/s
WE RUN IT
GM528 · PCIe 4.0
5000 MB/s
Product
hardware detail
×
▲ NVIDIA IGX Orin
on the roadmap · the next frontier we're gearing up for
×
NOT YET IN HAND

NVIDIA IGX Orin

industrial edge-AI platform. The platform we're building toward — what we are working towards as the next frontier of edge-AI chips and deployments.

No benchmark or test is claimed. Clearly labeled future work.

02

The rig

The bench hardware. Slots fill as each correct photo is placed with its verified caption.

Network rack
01
Network rack
Victus HQ
02
Victus HQ
Victus HQ
03
Victus HQ
GeForce 5070 Ti CUDA Torque close up
04
GeForce 5070 Ti CUDA Torque close up
GMKtec K16 close up
05
GMKtec K16 — close up
GMKtec K16 close up
06
GMKtec K16 — close up
Hailo-8 close up with Bestoss 1TB NVMe SSD
07
HAILO-8 Close up / BESTOSS 1TB NVMe SSD
The full CUDA Copperhead Snake rig
08
The full CUDA Copperhead Snake rig
The K16 Testing Monitor
09
The K16 Testing Monitor
Pironman 5 Pro Max Face up close
10
Pironman 5 Pro Max Face up close
Pironman 5 Pro Max Screen Close Up, Ubuntu terminal loaded
11
Pironman 5 Pro Max Screen Close Up
Ubuntu Terminal loaded on screen
The whole bench setup
12
The whole entire set-up
SunFounder Rev 1.3 Hailo camera module
13
SunFounder Rev:1.3 Hailo camera
03

Test pipeline · K16 → Pi gate

The discipline is the product: unsupported paths fail early at a validation gate, verified results are publishable, the production Pi runtime is never modified, and the compile environment matches the Pi — never the reverse.

01
Read the Pi 5 first
Record HailoRT version, Hailo board identity, the Frigate container runtime, and the correct hailo8 hardware arch flag. The compile target is pinned to these.
02
Preflight the K16
Confirm x86_64, AVX/AVX2, Python compatibility for the selected DFC, free disk and RAM — before installing anything.
03
Install the matching DFC in isolation
Pin the Dataflow Compiler to the version that matches the Pi runtime, via the official compatibility table. Do not make the Pi match the compiler.
04
Select a supported clean model
Choose from the compiler's own supported list. YOLOX-family targets are the clean starting point if supported by that exact DFC version.
05
Compile once, record, stop on failure
Record exact output. Stop on any uncleared failure — no patch-looping.
06
Load on the Pi through an isolated test config
Copy the HEF to a non-default path; run a separate Frigate test config. The live config and model cache are never touched.
07
Publish only verified outcomes
Compile result, load result, FPS/latency if measured, exact environment, and failure text if it fails.
04

Field notes

Written only after a verified event. No SEO filler, no untested fixes presented as solutions.

Verified

K16 native Ubuntu exposes RAPL; WSL2 does not

On native Ubuntu the K16 exposed RAPL power, thermal, and CPU-frequency telemetry, making it a real x86 hardware bench. The earlier WSL2 runs validated capacity and repeatability only — they are labeled non-native telemetry, not hardware-power evidence.

Verified

Selectivity: normal rejected 5/5, tuned promoted after repeatability

The native run rejected the normal/heavier condition across all five cycles at the efficiency gate and promoted the tuned/lighter condition only after repeatability cleared. A selective result, not always-on promotion.

Verified

Parameter sweep: 13 of 16 pairs selective

Sixteen normal/tuned intensity pairs were tested; thirteen produced selective behavior, with the tuned phase promoting in every case. Shown as a boundary map, not a universal pass.

Control

Load soak blocked tuned promotion under safety gate

Under sustained load with six burn workers completed, the tuned condition was blocked by the safety gate. This is a safety-dominance negative control — deliberately not presented as a performance promotion.

Verified

Hailo HEF compile + Pi load — 185 FPS

yolov8s compiled to HEF on the K16 (Dataflow Compiler 3.30.0, Hailo-8), version-matched to the Pi 5 HailoRT runtime (firmware 4.20.0), then loaded on the Pi’s Hailo-8 through an isolated runtime check — separate from the production detector. Result: 185.15 FPS across 927 frames, int8, with zero version mismatch. This is the gate-calibration build (128-image calibration set, optimization level 1). The production-accuracy recompilation is now complete and verified (see below); Frigate-detector integration remains the next step, not yet claimed.

Verified

Production HEF (opt-2 + QAT) + Pi load — 220 FPS

yolov8s recompiled on the K16 as a production-accuracy build: optimization level 2 with 4-epoch Quantization-Aware Fine-Tuning, calibrated on the COCO val2017 set (5000 images), single-context allocation. Compiled against Dataflow Compiler 3.30.0, version-matched to the Pi 5 HailoRT runtime (firmware 4.20.0), then loaded on the Pi’s Hailo-8 through the same isolated runtime check — separate from the production detector. Result: 220 FPS, int8, zero version mismatch, stable across three independent runs (219.94 / 220.02 / 220.29 FPS over 11,013 total frames). That is ~19% faster than the gate-calibration build while also being accuracy-tuned. HEF SHA256 97a1ece3…0b7e.

A GiraffStack, Inc. Project
About & Contact +

What the HEF? leads a workbench stacked with real hardware: a GMKtec K16 compile host with an RTX 5070 Ti “Copperhead” eGPU, a Raspberry Pi 5 running a Hailo-8 accelerator, and an HP Victus command machine.

Edge-AI hardware is genuinely hard to get working, and the people who know how tend to either keep it to themselves or charge enterprise rates to explain it. What the HEF? exists to close that gap. The method is simple: don’t claim a number until you’ve recorded it, don’t publish a result you can’t reproduce, don’t dress up an estimate as a measurement. Every figure here came off a real device, version-matched and verified.

The goal isn’t to be the biggest — it’s to produce results you can actually trust, and help the next person get their own setup running without the four-figure consulting invoice.

CONTACT
All inquiries direct to: reach@giraffstack.com
What the HEF? +

A HEF is a Hailo Executable Format file — the compiled, quantized model that actually runs on a Hailo accelerator. Getting a model to that file, version-matched and running at the speed the datasheet promised, is where most people get stuck.

So the name is half the format, half the feeling: “what the HEF?” — the thing you say at hour three of a compile that won’t cooperate. This bench is the answer to that question.

Legal & Privacy +
Legal

All content, benchmarks, code, scripts, and materials on this site are the property of GiraffStack, Inc. and are provided for informational purposes only.

Benchmark figures reflect results measured on specific hardware under specific conditions and are not guarantees of performance on any other system. Products and services are provided as-is, without warranty of any kind. GiraffStack, Inc. is not liable for any damages arising from the use of information or materials provided.

“Hailo,” “Raspberry Pi,” “NVIDIA,” and other hardware names are trademarks of their respective owners and are used here for identification only.

Privacy

This site collects only the information you choose to provide — for example, when you contact us by email or submit setup details for a service.

Information you send is used solely to respond to your inquiry or deliver the service requested. We do not sell, rent, or share your information with third parties. We do not run advertising trackers.

For any privacy questions or to request deletion of information you’ve sent, contact reach@giraffstack.com.

Products / Kits
×
Pick your level of help. Every tier is run by someone who has actually compiled HEFs on real hardware.
What THE? Kit  $20
“For the buyer who already knows but needs to see the nudge!”
A self-serve digital download: the compile recipe, scripts, version-match table, and the gotchas — everything you need to get a Hailo model compiled and running yourself. You know what you’re doing; this is the nudge that saves you the hours.
Buy From Us — $20
STOP the Bleeding  $45
“The kit for the ‘I’ve been staring at this for 3 days’ buyer.”
Send your error output, logs, and config. You get back a written diagnosis and the targeted fix for your specific broken setup — looked at by someone who’s actually compiled HEFs, not a forum guess.
Buy From Us — $45
PLEASE Show ME  $150
“Okay, I have everything I need but no clue what to do — please show me!”
A one-hour live screen-share session. You send your rig and setup details first so we know exactly what to locate and help with, then we work through it together in real time — and you watch how it’s actually done.
+ ADD-ON: SAME-DAY RUSH  +$150
Send us your exact setup again — a same-day walkthrough that starts within a 2-hour window from purchase. For when it can’t wait.
Buy From Us — $150
WHAT’S UNDER THE HOOD?
The local-AI world these kits open up — real AI on hardware you own, and where we’re headed next.
Cut the cord to the cloud
Real AI running on your own laptop or desktop — private, offline-capable, no monthly bill, no rate limits. We set it up with Ollama and Hermes Agent because they work — and we welcome others too.
Know what you’re running
SLM vs LLM vs SSM, and which model fits which job. Stop guessing and start picking like a pro — with someone who runs these daily on real silicon.
A model trained for your problem
We fine-tune on our rig and ship the finished weights straight to your setup. You get the result, not the homework.
The whole stack, on tap — more than Ollama and Llama
OpenRouter, MiMo, Mamba, Hermes, Llama and well beyond — the models that fit your hardware, wired into tools like Pinokio and Cursor so you’re building, not fighting installs.
▲ Coming Soon — Our Own Model!
We’re building our own model — made to run on the hardware you own. In development now; beta identity testing opens soon.
local AI too? Let’s GO!
The homework’s done for you: a picture-book-simple, fully illustrated 32-page guide that hooks up real local AI on your own rig — models matched to your machine, tools wired, traps pre-cleared. You follow the steps; we already did the figuring-out. Instant download.
Buy From Us — $45