Skip to content

Open Pearl Miner v1.9.0. High performance for middle cards

Latest

Choose a tag to compare

@neilquicks neilquicks released this 04 Jul 13:32

Open Pearl Miner v1.9.0 public release

What new

  • Fused CuTe Ampere/Ada kernel (sm_80+). 128×256 CTA tile, in-mainloop transcript fold, multistage cp.async.cg + ldmatrix, <8,1,1> TiledMMA (each warp owns a 16-row band so the R-block fold is a direct in-register shfl_xor). Engaged automatically for the real mining shape (region multiple of 128×256, R multiple of 32). Measured 42.7 TH/s on an RTX 4050 (Ada), bit-exact with the DP4A transcript.
  • Dependency-free ldm fallback. Raw-PTX mma.sync.m16n8k32 with 16 N-fragments per warp (A fragment loaded once, reused ×16) for shapes the CuTe fold doesn't cover, plus a cascade of 64×256 / 64×128 tilings.
  • Pascal DP4A dual-tile (NT=2). Each warp now computes two adjacent 16×16 tiles, loading the A fragment once for both (shared-memory traffic per FLOP cut ~1.5×), with int2 global→shared staging. Bit-exact: identical dp4a inputs and order.
  • Leaner bundle. Excluded stray transitive deps (numba/llvmlite, pandas, lxml, pywin32) from the frozen build — back to ~30 MB.

Experimental

  • CUDA path builds clean for sm_61 / sm_86 / sm_89; the Windows DLL is smoke-tested on a Tesla P40 (Pascal DP4A, pow_split OK).
  • The Pascal NT=2 change is functional (P40 smoke test OK) but transcript equality on your card is worth a first-shares check as well.

Performance

  • The CuTe kernel benchmarked 42.7 TH/s bit-exact on the RTX 4050