Skip to content

v0.2.17 - Bitcoin III on NVIDIA and AMD, experimental Pearl

Latest

Choose a tag to compare

@blindrun blindrun released this 20 Aug 02:33

Bitcoin III (sha3-256t) is now a first-class algorithm on both vendors, and Pearl gets an experimental NVIDIA-only build. Ergo is unchanged.

Tested on an RTX 4090, RTX 5080, RTX 4080, RTX 4060 Ti and an RX 7900 XT, on Linux and Windows.

Bitcoin III

--algo sha3-256t, or one of the new mine_bc3_* scripts. CUDA and Vulkan, so it runs on AMD as well as NVIDIA. Solo against your own node, or pooled - launchers ship for ArgFa, Vexta, HashBay, rplant, AxeHub, CryptoEire, HashForge, PythonPool and BTC3Forge.

CUDA is the faster backend here, and the launcher picks it for you on an NVIDIA card. On a 4090 that is 1543 MH/s against 1086 on Vulkan, which is the opposite of how Ergo behaves on Blackwell, so backend selection is now decided per algorithm instead of once for the whole miner.

Pearl - experimental, NVIDIA only

--algo pearl-pow. There is no Vulkan shader for it yet, so there is no AMD build. The launcher will tell you that rather than silently handing you a binary that cannot mine it.

Until this release every share was refused on every card except the 4090. The Merkle reduction in prepare.cuh had a single barrier per level, and a thread reading slots 2t/2t+1 while another wrote slot t in the same level meant the tree root depended on scheduling. The 4090's warp layout happened to hide it. It now reads, barriers, writes, barriers.

Accepted shares were not being counted

The share counters only refreshed for the Ergo stratum class, so a Bitcoin III miner that was working perfectly well read 0 accepted forever, and a pool rejection was swallowed with no message. Confirmed against a live pool with tcpdump: 367 accepted shares, none of them displayed. Both stratum types now report.

Windows launcher picked the wrong backend

soat-miner.bat read the algorithm from config.txt only. The mine_bc3_* scripts pass --algo on the command line and never set it in the config, so every launcher-driven run fell through to the Ergo rule and an NVIDIA card quietly got Vulkan. It now reads both.

Readout

  • Pearl reports MC/s, not MH/s. It was labelled with the wrong unit and read about a thousand times slower than it was.
  • The self-scaling sparkline is gone. It drew a jagged graph for a perfectly steady hashrate, which looked like instability that was not there.
  • There is a plain activity indicator instead, so it is obvious at a glance that the thing is mining.
  • Accepted shares and efficiency are orange, speed stays green, trouble stays red.

Windows: Defender will flag this as a coin-miner

Windows Defender flags every GPU miner, including this one, as a trojan (Trojan:Win32/CoinMiner, threat 2147731250) and refuses to launch it. That is the heuristic doing its job on a real miner, not a compromise of this build - the source is right here. To run it, add a Defender folder exclusion for the miner's folder (Windows Security -> Virus & threat protection -> Manage settings -> Exclusions), or verify the SHA-256 above and run it from a folder you have excluded.

No dev fee.