Soak Certified: 60 Cycles of GPU-Accelerated ZK Proving on Apple Silicon

ZirOS completed a 12-hour Plonky3 STARK prove/verify soak on Apple M4 Max 48 GB with 60 completed cycles, zero degraded runs, and realized Metal participation in the proving lane.

Soak Certified: 60 Cycles of GPU-Accelerated ZK Proving on Apple Silicon

Soak Certified: 60 Cycles of GPU-Accelerated ZK Proving on Apple Silicon

The important result is simple: ZirOS completed a 12-hour sustained Plonky3 STARK prove/verify soak on an Apple Silicon M4 Max host with 48 GB unified memory, finished 60 cycles, and recorded zero degraded runs.

This was not a toy "hello world" proof. The workload was the Falcon Heavy ascent certification path we have been using as a real physics proving surface, and the run preserved per-cycle timing, proof artifacts, verification results, and runtime attribution across the full window.

Soak timing chart

The numbers

  • Duration target: 12 hours
  • Actual elapsed time: 43,825 seconds
  • Completed cycles: 60
  • Verified cycles: 60
  • Degraded cycles: 0
  • Host: Apple Silicon M4 Max, 48 GB unified memory
  • Proof lane: Plonky3 STARK prove/verify
  • Workload: Falcon Heavy ascent trajectory

That matters because it turns a broad claim like "we have a proving engine" into something narrower and more useful: the proving lane stayed up for half a day on a real machine, under a repeatable workload, with no degraded runs.

What was actually accelerated

The honest version matters more than the flashy version.

The artifact metadata from the soak shows Metal GPU participation realized in the proving lane, with sustained Metal NTT participation and a nonzero GPU busy ratio across the finished cycles. That is a real acceleration claim.

It is not correct to say the entire proving path was resident on GPU from end to end. The same evidence shows that hash-merkle still fell back to CPU on this workload because the current backend enforces a trace-width MMCS Metal limit. That fallback did not create degraded runs, but it means the right statement is:

Metal participation was realized in the STARK proving lane. Full end-to-end Metal-complete proving is not the claim.

That distinction is exactly why the soak is useful as grant evidence. It is specific enough to trust.

Why this matters operationally

There are really two separate proving stories in ZirOS right now.

The first is the direct STARK lane. That is the lane this certification covers, and it is the one that fits comfortably on the M4 Max 48 GB machine. It is also the post-quantum side of the stack and the one most users will actually touch first.

The second is the STARK-to-Groth16 wrap lane. We pushed that lane significantly further this week by fixing the old Metal MSM admission failure and landing in-window segmentation work, but the full 27.5M-constraint wrap still exceeds the practical memory envelope of this host. On this machine, the honest conclusion is hardware-bound, not "bug solved." That wrap certification is pending higher-memory fleet hardware.

So the current evidence split is:

  • direct Plonky3 STARK prove/verify on M4 Max 48 GB: certified
  • STARK-to-Groth16 wrap on M4 Max 48 GB: not yet certified
  • strict wrap on higher-memory fleet hardware: next certification target

That is a much stronger operating posture than pretending every lane is already complete.

Why the soak changes the business story

This certification is not just a benchmark line item. It closes a distribution and grant loop that was missing hard runtime evidence.

At the same moment this soak passed, the rest of the public surface was already live:

  • ZirOS v0.4.1 binary on GitHub Releases
  • midnight-probe@1.0.1 on npm
  • zkf midnight resolve in the shipped binary
  • weekly public attestation running on the public repo

That means the public claim is no longer "we are building proving infrastructure." The public claim is:

We shipped the binary, published the evidence, and certified the direct STARK lane under sustained load.

That is the right foundation for the next grant step and for the first proving-fleet procurement decisions.

What happens next

Three things follow from this result.

First, the soak report now belongs in the permanent evidence surface, not just /tmp. That is done.

Second, the grant narrative can now include a real operating claim:

ZirOS completed a 12-hour sustained Plonky3 STARK prove/verify soak on Apple M4 Max 48 GB with 60 completed cycles and zero degraded runs, while realizing Metal GPU acceleration in the proving path.

Third, the wrap lane gets treated honestly as the next hardware-scaled target, not as a missing paragraph in a pitch deck. The direct STARK lane is ready to be cited now. The wrap lane gets certified when the memory envelope catches up.

Public evidence

The short version is the useful version: the proving lane held for 12 hours, the evidence is public, and the next scale step is no longer hypothetical.

Subscribe to Jacobian

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe