LazMiner 0.2.52 – GPU miner for 18 algorithms (CUDA / OpenCL / Vulkan) + CPU RandomX, 1% dev feeWhat is LazMiner?LazMiner is a GPU miner for Windows and Linux (x64). It started as a side quest to
LazDazh, our rig management project, and is tested and supported by
sxemini. I only started coding a few months ago, so this is a young project, built by measuring every kernel against the card instead of guessing. Every algorithm has a CPU reference and a built-in self-test (--self-test), and the CPU re-checks every solution before it is sent to the pool.
It ships as
one file: the GPU runtime travels inside the executable. No toolkit, no installer, no redistributable.
Please read this firstThis is a new miner, so
expect bugs. Please report them, and please post your test results (card, algorithm, pool, hashrate, power) so we can keep optimizing. Every report helps, and it is the fastest way for us to improve.
I know it is hard to trust a new miner, especially one without a GitHub page. I try to be as transparent as possible, which is why we always post VirusTotal results for every download (linked below). If you have questions about anything the miner does, just ask here or on Discord.
Supported GPUs- AMD: Polaris, RDNA1 to RDNA4 (OpenCL)
- NVIDIA: Pascal to Blackwell (CUDA)
- Intel: Should work with OpenCL, but not tested yet
Everything in these ranges is supported, but not every card is tested and optimized. Our test and tuning cards so far: Pascal, Turing, Ampere, Ada, Blackwell, RDNA1, RDNA2 and RDNA4.
Operating systems and driversBuilt and tested on Ubuntu (Linux x64) and Windows 11 (x64). Other Linux distributions and other Windows versions are not tested, so they may or may not work. Tested with the NVIDIA 580 and 595 driver and AMD RDNA 3 and for with ROCm 7.2.4 (Linux), RDNA1 and RDNA2 teste with ROCm 6.2.4.
AlgorithmsGPU (18): KawPoW (Ravencoin, Neurai), Autolykos2 (Ergo), FishHash (Iron Fish), SHA3-256t (Bitcoin III), PearlHash (Pearl), Cuckaroo29 (Tari/Grin), XelisHash v3, Octopus (Conflux), Verthash, Decred (BLAKE3), Poseidon2b / NOID (Parano1d), Quantus (QPoW), hoohash-pepew (PEPEPOW), ProgPoW 0.9.4, ProgPoW-Z (Zano), TensorCash (proof of inference), Compute Substrate (CSD, SHA-256d)
CPU: RandomX (rx/0) and RandomX v2 (rx/2), LazMiner's own engine on the official RandomX library, XelishashV3
Backends per algorithm| Algorithm | CUDA | OpenCL | Vulkan |
| KawPoW | yes | yes | limited |
| Autolykos2 | yes | yes | yes |
| FishHash | yes | yes | yes |
| SHA3-256t | yes | yes | yes |
| PearlHash | yes | yes | yes |
| Cuckaroo29 | yes | yes | - |
| XelisHash v3 | yes | yes | - |
| Octopus | yes | yes (AMD) | - |
| Verthash | yes | yes | yes |
| Decred (BLAKE3) | yes | yes | yes |
| Poseidon2b / NOID | yes | yes | limited |
| Quantus | yes | yes | - |
| hoohash-pepew | yes | yes | yes |
| ProgPoW 0.9.4 | yes | yes | - |
| ProgPoW-Z | yes | yes | - |
| TensorCash | yes | yes (layer stages) | - |
| Compute Substrate (CSD) | yes | yes | - |
Default: CUDA on NVIDIA, OpenCL on AMD.
Vulkan is still experimental and not supported everywhere (it is meant for AMD cards without ROCm; some algorithms have no Vulkan kernel or only a limited one). Override per card with --gpu-backend 0:cuda,1:vulkan.
TensorCashTensorCash is proof of inference: a share is one window of 256 tokens of the chain's language model (Qwen3-8B, Q8, model file needed, --tsc-model). The model's layers are split between the selected cards, so several small cards, even NVIDIA and AMD mixed, mine as one row. In this first version the last card of a row has to be an NVIDIA card. Tested live at a pool on Linux; the Windows build runs the same code but has not mined on a Windows rig yet.
Dual miningA second algorithm can share the same cards, each with its own pool. Measured live (sum of both lanes vs. each alone, 1.00 = no gain), best examples: Verthash + Hoohash 1.75 (RTX 5070), FishHash + Decred 1.70 (RTX 3060), Verthash + SHA3-256t 1.55 (RX 6600 XT), Autolykos2 + Decred 1.34 (RX 6600 XT), FishHash + SHA3-256t about 1.3 on every card. Pairs that do not pay are not in the defaults. The 1% dev fee applies to the second lane as well.
lazminer -a fishhash -o stratum+tcp://POOL:PORT -u WALLET.rig1 --dual-algo sha3-256t --dual-pool stratum+tcp://POOL2:PORT --dual-user WALLET2
PearlHash on AMD – compared with SRBMiner 3.7.5Please note: we do not want to put any other miner down. We respect the work SRBMiner has put in over the last years. This comparison is only meant to show where LazMiner stands. Same card, same settings, live at the pool.
| Card | LazMiner | SRBMiner 3.7.5 |
| RX 9060 XT (RDNA4) | 60.7 TH/s | 55.5 TH/s |
| RX 6600 XT (RDNA2) | 12.85 TH/s | 10.77 TH/s |
| BC-160 (RDNA1) | 13.0 TH/s | 3.97 TH/s |
Your results will vary with clocks, voltage and drivers, so please post yours.
Developer fee: 1%1% of wall-clock time (36 seconds per hour), on a separate connection, on all algorithms except ProgPoW 0.9.4 and ProgPoW-Z. In dual mining the 1% applies to the second lane as well. Your own accepted/rejected counters do not change during a dev slice.
Parameters (
--help prints the same list; every option marked <n|map> also works per device, e.g. --intensity 0:24,1:22)
| Option | What it does |
| Mining | |
| -a, --algo <name> | Algorithm: kawpow, autolykos2, pearlhash, cuckaroo29, sha3-256t, fishhash, xelishash, octopus, verthash, decred, hoohash-pepew, progpow, progpowz, noid, quantus, tensorcash, sha256d-csd, randomx, randomx-v2 |
| -o, --pool <url> | Pool, stratum+tcp://host:port. Repeat for failover |
| -u, --user <wallet[.rig]> | Wallet or login for the pool before it |
| -p, --pass <password> | Pool password, default x |
| -w, --worker <name> | Rig name appended to the login |
| --tls | Use TLS for the pool before it |
| --verthash-data <file> | Verthash data file (1.2 GiB); default: beside the binary, then the cache |
| --gen-verthash-data [f] | Build that data file and exit |
| Dual mining | |
| --dual-algo <name> | A second algorithm on the same cards |
| --dual-pool <url> | Its pool (repeat for failover) |
| --dual-user <wallet> | Wallet or login for that pool |
| --dual-pass <password> | Its password, default x |
| --dual-worker <name> | Rig name for the dual pool |
| --dual-intensity <n|map> | Launch size of the second algorithm |
| --dual-share <percent> | Limit the second algorithm's share of the card's time (default: both run together) |
| Algorithm options | |
| --pearl-shape <MxN> | PearlHash matrix shape (default 1024x524288, halved on small cards) |
| --pearl-eco | PearlHash efficiency mode (AMD OpenCL, Pascal, GTX 16): fewer watts, peak rate can be lower |
| --quantus-eco | Quantus efficiency mode on NVIDIA Ada: fewer watts, slightly lower rate |
| --csd-eco | Compute Substrate efficiency mode on NVIDIA Turing and newer: more hashes per watt, 2-4 % lower rate |
| --tsc-model <file> | TensorCash model file (Qwen3-8B-Q8_0-full-v2.gguf, 8.7 GB) |
| --tsc-slots <n> | TensorCash windows per batch, multiple of 8 up to 128 (default: what fits) |
| --tsc-split <a,b,..> | TensorCash layer ends per card, e.g. 24,36 (default: by speed and memory) |
| --cpu-threads <n> | RandomX worker threads, 0 = automatic |
| --cpu-affinity <ids> | RandomX: logical CPU IDs to use, e.g. 0,2,4,6 |
| --cpu-no-huge-pages | RandomX: do not use huge pages |
| --cpu-no-msr | RandomX on AMD Zen (Linux, root): do not write the prefetcher setting |
| Devices | |
| -d, --devices <list> | Cards to use, e.g. 0,1,3 or 0-3, in PCI bus order (default: all) |
| -l, --list-devices | Print every detected device and exit |
| -b, --backend <name> | cuda, opencl or vulkan (default: best per vendor) |
| --gpu-backend <map> | Backend per card, e.g. 0:cuda,1:vulkan |
| -i, --intensity <n|map> | 18..28, log2 of the nonces per launch |
| --worksize <n|map> | Threads per block / work group |
| --gridsize <n|map> | Blocks per launch |
| --allow-integrated | Do not skip integrated GPUs |
| --cuda-nvrtc <what> | Which bundled CUDA compiler to use (normally chosen for you) |
| Clocks (NVIDIA / AMD, driver support required) | |
| --core-offset <n|map> | Core clock offset in MHz |
| --mem-offset <n|map> | Memory clock offset in MHz |
| --lock-clock <MHz|map> | Pin the core clock; 0 releases the lock |
| --lock-memory <MHz|map> | Pin the memory clock where supported; 0 restores |
| --keep-clocks | Leave the settings applied when the miner exits |
| Monitoring API | |
| --api-port <n> | TCP port, default 4028 (TeamRedMiner/cgminer schema) |
| --api-bind <ip[:port]> | Listen address, default 127.0.0.1 |
| --api-allow <list> | Extra allowed client addresses |
| --api-rw | Allow control commands (quit, restart, gpuenable) |
| --no-api | Disable the API server |
| --no-api-http | Answer raw socket clients only, not HTTP GET |
| Network | |
| --retry-pause <sec> | Delay between reconnect attempts, default 10 |
| --retries <n> | Give up after n failures, 0 = never |
| --timeout <sec> | Reconnect after this much pool silence, default 180 |
| Behaviour | |
| --report-interval <s> | Hashrate report period, default 30 |
| --hashrate-avg <s> | Averaging window for the headline hashrate |
| --temp-limit <C> | Pause a GPU above this temperature |
| --temp-resume <C> | Resume below this temperature |
| --no-cpu-verify | Skip the CPU recheck of every solution |
| --verify-full | KawPoW: full CPU re-derivation for every share |
| --verify-first <n> | KawPoW: full re-derivation for the first n shares per GPU, default 3 |
| --nonce-start <n> | Fixed starting nonce instead of a random one |
| --benchmark [algo] | Run offline, no pool needed |
| --benchmark-seconds <n> | Benchmark duration, default 30 |
| --self-test [algo] | Check the GPU kernels against the CPU reference and exit |
| Logging and misc | |
| --log-level <level> | trace, debug, info, warn, error, off |
| --log-file <path> | Mirror the log to a file |
| -v, --verbose / -q, --quiet | Debug level / warnings only |
| --no-color | Disable ANSI colours |
| -c, --config <file.json> | Read options from a JSON file |
| -h, --help / -V, --version | Help / version and exit |
Examples:
lazminer -a quantus -o stratum+tcp://POOL:PORT -u WALLET.rig1
lazminer -a pearlhash -o stratum+tcp://POOL:PORT -u WALLET.rig1 -d 0,1
lazminer -a randomx -o stratum+tcp://POOL:PORT -u WALLET.rig1
lazminer --self-test -a quantus
Planned- More algorithms
- More dual-mining options
- Further performance improvements
- Better Vulkan support
- Intel GPU support
-
More AMD overclocking support-
HiveOS supportDownloadsOur GitHub account was flagged as "spam" and suspended several times and is currently suspended. We are working with GitHub support to get it restored. Until then, all downloads are hosted on our own web space:
- Windows x64:
https://lazlabz.de/Lazminer/lazminer-0.2.52-windows-x64.zip VirusTotal:
https://www.virustotal.com/gui/file/1c4871840e682d0e7466f82d175435f2423d11c1d292ea800c0d2cf19c85ecf3- Linux x64:
https://lazlabz.de/Lazminer/lazminer-0.2.52-linux-x64.zip VirusTotal:
https://www.virustotal.com/gui/file/55c330e3f384a085aac612abccb08f5156ee87fa37e7490d3921c2801074a61b- HiveOS Package:
https://lazlabz.de/Lazminer/lazminer-0.2.52.tar.gz Virustotal:
https://www.virustotal.com/gui/file/81e296bceb6ca25953154c7a1175dc0addcd264bb610fd9bec50127e91e2a3c8a third download, lazminer-0.2.52.tar.gz, to enter in HiveOS as a custom miner (Miner name lazminer, Installation URL pointing at the archive); algorithm, pool, wallet and extra arguments come from the flight sheet. The same binary as in the Linux package; as a tar.gz it also suits Debian/Ubuntu without HiveOS
Support / contactLazMiner is tested and supported by sxemini.
- Website:
https://lazlabz.de- Discord:
https://discord.gg/au8Mu8bwkp- X:
https://x.com/LazLabz- Telegram support: coming soon