Where did it run? · Qwen2.5 1.5B, 28 layers, LUT4
Mostly assigned to the Neural Engine.
Before I say anything about the hardware, I check where the compiler actually put each operation.
infer function, one cell per operation96.3% / 3.7%What this shows
Apple’s MLComputePlan reports which device each operation is assigned to, in this exact compiled model. The 82 on the CPU are the argmax at the very end of the language-model head, the step that picks the output token. An earlier June 2026 build of the same model reported 2,090 ANE / 79 CPU, with the same argmax tail on the CPU. Both runs are on the evidence page.
if let usage = plan.deviceUsage(for: op) {
switch usage.preferred {
case .cpu: name = "CPU"
case .gpu: name = "GPU"
case .neuralEngine: name = "ANE"
@unknown default: name = "?"
}
} else { name = "none" }preferred. It’s the plan, not a trace. Full sourceWhat it doesn’t prove
An assignment isn’t proof the work stayed on the Neural Engine while it ran. It also says nothing about speed, or about whether the model’s answers are any good.
