Skip to content

Latest commit

 

History

History
155 lines (118 loc) · 4.97 KB

File metadata and controls

155 lines (118 loc) · 4.97 KB

llama.cpp-m b10069 Validation

This record separates completed local evidence from GitHub Actions evidence that requires an authorized push. Version b10069 is not published by this branch.

Release Identity

Field Value
Wrapper llama.cpp-m b10069
Package ggml-org:llamacpp@b10069
Module import llamacpp;
Upstream tag b10069
Upstream commit 178a6c44937154dc4c4eff0d166f4a044c4fceba
Official archive SHA-256 293a7c65a11e2203c5468a06d0d0e8d21dfff16ad08712b16c61efbe0d93e097
mcpp 2026.7.28.2

The final local release contract printed:

Snapshot matches.
All exports match.
Snapshot matches.
llama.cpp-m b10069 -> llama.cpp b10069 (178a6c44937154dc4c4eff0d166f4a044c4fceba)

GitHub Actions Status

The required workflow jobs are:

Job Required behavior Run URL
unit-and-import Unit/import/export/snapshot and cold CPU build Not available before authorized push
cpu (ubuntu-24.04) Linux x86_64 CPU inference Not available before authorized push
cpu (windows-latest) Windows x86_64 CPU inference Not available before authorized push
cpu (macos-15) macOS ARM64 CPU inference Not available before authorized push
linux-arm64 Native ARM64 Docker inference and ELF/source audit Not available before authorized push
metal Real macOS ARM64 Metal inference Not available before authorized push
release-contract Immutable version/upstream/reproducibility mapping Not available before authorized push

These missing URLs are a release blocker, not a skipped or passing result.

Small Regression Model

Field Value
URL https://huggingface.co/ggml-org/models-moved/resolve/499bc8821c6b12b4e53c5bffcb21ec206f212d81/tinyllamas/stories15M-q4_0.gguf
Size 19077344 bytes
SHA-256 66967fbece6dbe97886593fdbb73589584927e29119ec31f08090732d1861739

Local macOS ARM64 runtime results:

LLAMACPP_CPU_TEST=PASS
LLAMACPP_METAL_TEST=PASS
using embedded metal library
offloaded 1/7 layers to GPU
MTL0_Mapped model buffer size = 9.34 MiB
MTL0 compute buffer size = 7.88 MiB

Both paths loaded the GGUF, decoded, sampled a valid token, and returned success.

Qwen3.5-4B Q4_K_M

Field Value
Size 2707514144 bytes
SHA-256 de8e96cd0d0c358487091aaaed1346bc02e61da3d4b412c833662702e233e78c
Architecture qwen35
Parameters reported 4205751296
Host Apple M4, macOS ARM64

Commands:

cd examples/chat-cpu
/usr/bin/time -p mcpp run -- <Qwen3.5-4B-Q4_K_M.gguf> \
  'User: Introduce yourself in one sentence.\nAssistant:'

cd ../chat-metal
/usr/bin/time -p mcpp run -- <Qwen3.5-4B-Q4_K_M.gguf> metal \
  'User: Introduce yourself in one sentence.\nAssistant:'

Observed results from 2026-07-29:

Backend Generated Offload Wall time
CPU 32 tokens 0/33 layers 56.75s
Metal 32 tokens 33/33 layers 2.92s

Metal also reported:

using embedded metal library
GPU name: MTL0 (Apple M4)
offloaded 33/33 layers to GPU
backend=metal params=4205751296 generated_tokens=32

The CPU output began I am a helpful assistant.. The Metal output began I am a large language model .... These are generation proofs, not answer quality assertions.

The wall-clock ratio was about 19.4x in favor of Metal. It includes model loading, prompt processing, generation, and first-use Metal pipeline work, so it must not be presented as a steady-state tokens-per-second benchmark.

Linux ARM64 Docker

A native Ubuntu 24.04 ARM64 Docker run using mcpp 2026.7.28.2 completed CPU inference and printed LLAMACPP_CPU_TEST=PASS.

The run verified:

target/.build-mcpp/build.mcpp.bin: ARM aarch64, statically linked, PT_INTERP absent
.../bin/cpu_decode: ARM aarch64, statically linked, PT_INTERP absent
arch/arm/quants.c present
arch/arm/repack.cpp present
arch/x86 absent

The container used the USTC Ubuntu ports mirror and an isolated MCPP_HOME, with MCPP_VENDORED_XLINGS explicitly routed to the released mcpp bundle.

Local Automated Checks

The final local verification completed:

  • 112 Python unit tests;
  • official tag and archive check mode;
  • generated export and API snapshot checks;
  • release mapping validation;
  • small-model CPU and Metal inference;
  • CPU and Metal Qwen generation;
  • YAML parsing and actionlint for all three workflow files.

The actionlint image was pulled as rhysd/actionlint@sha256:b1934ee5f1c509618f2508e6eb47ee0d3520686341fec936f3b79331f9315667. GitHub Actions remains authoritative for actual workflow execution and the required platform matrix.

Unsupported In b10069

  • mtmd multimodal API;
  • CUDA, Vulkan, RPC, and other upstream backends;
  • C++17 consumer compatibility;
  • a claim that every upstream model architecture works.

Deprecated upstream C APIs are exported and can produce upstream deprecation warnings when called. A new model or backend support claim requires its own targeted runtime evidence.