ErgoMetal: native Autolykos v2 on Apple Silicon — testers wanted

Hi everyone,

I’ve made ErgoMetal public: an independent, research-oriented Autolykos v2 miner for Apple Silicon, written natively in Swift and Metal. It is not a CUDA/OpenCL port. The immediate goal is to make the workload and measurements reproducible, not to make profitability claims.

Current scope:

  • Full 216,430,305-element consensus dataset (about 6.45 GiB) and 32 pseudo-random dataset gathers per nonce
  • Miningcore-compatible Ergo Stratum v1 over TCP or certificate-validated TLS
  • Consensus cross-checks against the Ergo reference specification, the published Autolykos paper, and committed replay fixtures
  • GPLv3 source, plus a notarized arm64 command-line build
  • Public payout address only; private keys and seed phrases are never accepted
  • Donation mining is disabled by default and requires an explicit opt-in

One result may be interesting to other miner developers. On my M4, I compared the complete search kernel with a non-consensus gather-only microbenchmark. The latter preserves the normal index seed, reciprocal-modulo index distribution, and all 32 random gathers, but omits the final searchSum BLAKE2b compression.

Across four order-balanced 30-second rounds on the full dataset:

  • Complete search: median 3.107991 MH/s active hashrate
  • Gather-only: median 2.951784 MH/s
  • Search / gather-only: 105.292%

Removing compute did not improve throughput on this machine. For this particular optimization screen, that suggests the kernel is already dominated by memory latency. I therefore did not add the speculative register-pressure or manual memory-level-parallelism kernels, and the consensus search kernel remains the default. This is one M4 result, not a claim about every Apple GPU generation.

I’d especially value feedback from the Ergo community on:

  1. Autolykos consensus edge cases or additional reference fixtures worth testing
  2. Reproducible results from M1 through M5 machines with enough unified memory for the current dataset
  3. Real-world Miningcore-compatible pool interoperability, particularly over TLS

The repository contains the exact balanced benchmark command and a compact reporting template. Please include the Mac model/chip, unified memory, macOS version, ErgoMetal commit, profile, median active MH/s, and start/peak temperature if you report a result.

This is still experimental software. It can sustain high GPU and unified-memory load, increase power use, and reduce foreground graphics performance.

Corrections, independent measurements, and protocol review are very welcome.