github ocminer/keryx-miner-supr v0.6.5.3
v0.6.5.3 — shared cached PoM tree (multi-GPU host-RAM fix) + own-device inference

latest releases: v0.14.6, v0.14.5, v0.14.4...
3 months ago

keryx-miner-supr v0.6.5.3

Fixes for multi-GPU rigs run as one process per GPU (separate --cuda-device N, separate wallets/workers). Reported symptom: workers fine up to 3 GPUs, then the 4th exhausts host RAM (e.g. WSL's default 32 GB cap) → volatile hashrate + rejected shares.

Fixes

  • Shared, cached possession tree — no more N× host RAM. The PoM Merkle tree was written to a per-process file and rebuilt on every start, so N per-GPU processes each held an identical copy (N× page-cache RAM + N concurrent rebuild spikes). Now there is one pom-tree.bin per model directory: a single process builds it under a cross-process lock, every other process (and every restart) reuses it read-only — one shared copy, no rebuild. Validated four ways before reuse (cache version, GGUF length+mtime, tree size, on-disk root == R_T); any mismatch → rebuild. This is the fix for the 4th-GPU OOM.
  • OPoI inference on the process's own GPU. A single---cuda-device process now runs inference on its own card instead of the globally-biggest GPU (which made every per-GPU process pile inference onto one shared card). Multi-GPU single-process behavior is unchanged. New --no-shared-inference flag (and KERYX_INFERENCE_GPU env) force own-card explicitly.

Notes

  • No protocol/consensus change. Drop-in over v0.6.5.x. mining.subscribe user-agent stays keryx-miner-supr/0.6.5.
  • Immediate mitigation for WSL users: raise the WSL memory cap in .wslconfig ([wsl2]\nmemory=56GB) + wsl --shutdown.
  • Three build lines: modern (CUDA 12.9, R575+), legacy (CUDA 12.4, R550+), pascal (sm_60, GTX 10-series; run --cpu-inference --light). Each in hiveos / smos / mmpos / linux.

Don't miss a new keryx-miner-supr release

NewReleases is sending notifications on new releases.