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:
- Autolykos consensus edge cases or additional reference fixtures worth testing
- Reproducible results from M1 through M5 machines with enough unified memory for the current dataset
- 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.
- Source: GitHub - giffeler/ergometal: Experimental Autolykos v2 miner for Ergo on Apple Silicon, built natively with Swift and Metal. · GitHub
- Cross-generation benchmark discussion: Cross-generation results wanted: Autolykos gather-only versus full Metal search · giffeler/ergometal · Discussion #1 · GitHub
- M4 measurement report: ergometal/Benchmarks/2026-08-15-search-gather-ceiling-ab.md at main · giffeler/ergometal · GitHub
- Project page and notarized build: ErgoMetal | gekko Apps
Corrections, independent measurements, and protocol review are very welcome.