Skip to content

Releases: thekillsquad007/amdbtx

AMDBTX v1.2.2 — SHA packing +3% NPS, Windows PATH fix

Choose a tag to compare

@thekillsquad007 thekillsquad007 released this 05 Jul 16:46

AMDBTX v1.2.2 — SHA-256 packing + 3% NPS, Windows PATH fix, bundle-priority fix

Changes

  • SHA-256 oracle index packing: rewrote d_candidate_from_midstate index-bytes packing in solver/src/matmul_kernel.hip from d_set_sha_byte OR-equals loop to direct d_bswap32(index) stores. +3% NPS at batch=524288, +1.3% at batch=131072. Consensus preserved (35137 gate passes, 0 verify_misses).
  • Windows subprocess DLL search fix (src/amdbtx_miner/gbt_solve_wrapper.py):
    The 6800M laptop hit STATUS_DLL_NOT_FOUND (0xC0000135) because spawned solver could not find bundled HIP runtime DLLs. Fixed by prepending the bundle's runtime/ directory to the spawned solver's PATH env var on Windows (and LD_LIBRARY_PATH on Linux). Now bundled ROCm runtime DLLs/.so are findable without separate HIP SDK install.
  • Linux Runpath fix (solver/CMakeLists.txt): solves portable-Linux No HIP GPU found errors by embedding $ORIGIN:$ORIGIN/runtime in solver RUNPATH. Bundled PyInstaller runtime/*.so files are now found without system ROCm install.
  • resolve_solver_path bundle-priority fix (src/amdbtx_miner/__main__.py): PyInstaller bundle (sys._MEIPASS) is now checked before the gbt_solve_path set in config.yaml. Users who had a stale path in config can now use the bundled single-file EXE without editing config. (Regression test: tests/test_resolve_solver_path.py.)
  • Robust packaging scripts: package_linux.sh and build_and_package_windows.ps1 now auto-discover ROCm SDK location (no hard-coded Python 3.12 / MSVC 14.44 / /opt/rocm-7.2.* paths) so the same code builds on Ubuntu 22/20, HiveOS, and any ROCm 6.x/7.x install.

Assets (sha256)

See SHA256SUMS for the full list. Highlights:

  • amdbtx_miner-1.2.2-py3-none-any.whl08a88866476dcd9bfb93dce24d51db302e844a1bbc50efecf93515229475acc3
  • amdbtx-miner-linux-v1.2.2.tar.gz (ELF binary + bundled ROCm 7.2 runtime) — d97d4eecc0e007ba83157ea34632b6121812258632cb9aafa9164479ea1e887b
  • amdbtx-miner-windows-v1.2.2.zip (EXE + bundled amdhip64_7.dll etc.) — 2afe526343d263dc06bfea6b3b084bfbd456e090392f362211e47745b31a5848
  • btx-gbt-solve-hip (multi-arch Linux solver, gfx900/906/1030/1031/1100/1101/1102/1200/1201) — 19aacbf9df08aa10974db19cfa497278138e47db7f541de26364a2e4863e180e
  • btx-gbt-solve-hip.exe (Windows solver with gfx1030/1031/1100/1101/1102/1200/1201) — 8c7f75cc96ffb90cf43903a848bbf7b7ec1ad172a210f4a86aee23098add8b82
  • HiveOS tarball (older 174 MB bundle including both Linux flavours) — 564a054d2fab277a1d863e8c2ba8f9921338274a20a240afaeb08975e6af642c
  • Ubuntu-specific legacy flavours amdbtx-miner-linux-ubuntu{20,22}-v1.2.2.tar.gz from before the size optimization pass — kept for backwards compatibility.

Quick start (Windows)

Expand-Archive amdbtx-miner-windows-v1.2.2.zip
.\amdbtx-miner-windows-v1.2.2.exe --payout-address YOUR_BTX_ADDRESS `
    --pool-host btx-sg.lproute.com --pool-port 8660

Quick start (Linux / HiveOS)

tar xzf amdbtx-miner-linux-v1.2.2.tar.gz
chmod +x amdbtx-miner-linux-v1.2.2
./amdbtx-miner-linux-v1.2.2 --payout-address YOUR_BTX_ADDRESS

AMDBTX v1.2.1 — Bundle ROCm runtime with portables

Choose a tag to compare

@thekillsquad007 thekillsquad007 released this 05 Jul 02:17

AMDBTX v1.2.1 — Bundle ROCm runtime with portables

Changes

  • Bundle ROCm HIP runtime libraries (DLLs on Windows, .so on Linux) inside PyInstaller portable builds — no separate ROCm install needed on target machine.
  • Detect bundled runtime directory in sys._MEIPASS at startup, add to LD_LIBRARY_PATH.
  • hipDeviceSynchronizehipStreamSynchronize(nullptr) in ProcessPassedNoncesBatched.
  • Sigma/matmul pipelining experiment reverted (~1% gain within noise; pool-tested, not worth complexity).

Assets

File SHA256
amdbtx_miner-1.2.1-py3-none-any.whl 11cb83eba73821687b5da2b99044045eaaaa25f902ad8bd0ef17b15766da0a58
btx-gbt-solve-hip (solver, multi-arch) 708b5e4d7ca59f8f1c3dd614475aa9148d3f7d1a9098625b774f4245619bd5cd
amdbtx-miner-linux-v1.2.1.tar.gz (ELF + ROCm runtime) 7a6bc86306302ff7ce1f4c1dadc51c641649cd9c0183f3693ac1df4c396f10bb
amdbtx-miner-windows-v1.2.1.zip (EXE + ROCm runtime) 9ae53ee76b92cf39aaf53b350d699198edd7d0ed752a2d959e2f0660fcce986c

AMDBTX v1.2.0

Choose a tag to compare

@thekillsquad007 thekillsquad007 released this 02 Jul 20:27

AMDBTX v1.2.0 -- RDNA4 support, auto-tune, batch sweep, HiveOS wrapper, Windows native build, Linux native build

Highlights:

  • RDNA4 (gfx1200/gfx1201) support: prebuilt solver now includes RX 9070 XT code objects
  • --auto-tune: quick batch-size sweep at startup (8 sizes, ~2s each), picks fastest and saves to config
  • Model-to-gfx arch fallback: maps card model names (e.g. "7900 XTX" -> gfx1100, "9070 XT" -> gfx1200) when rocminfo is unavailable
  • Installer auto-tune: runs --auto-tune after GPU smoke test during installation
  • Default batch bumped to 8M for RDNA3 (gfx110*) for higher throughput
  • Default pool: LuckyPool btx-sg.lproute.com:8660
  • HIP scan-batch performance solver (factored RHS pipeline, fused-B kernel, compact output)
  • Trust-GPU shares (no CPU re-verify), slice alignment, multi-share submission
  • Installer validates wheel and solver SHA256 before using release assets
  • HiveOS custom miner wrapper (hiveos/amdbtx): auto-installs v1.2.0, LuckyPool default, YAML extra config, log-based stats parsing
  • Windows native build: portable single-file amdbtx-miner.exe built with AMD ROCm HIP SDK + Visual Studio Build Tools. No WSL, no Python, no Linux required.
  • Linux native build: portable single-file amdbtx-miner (ELF) built with ROCm HIP. No Python, no system packages required.

Windows Portable Miner:
A single amdbtx-miner.exe (12.3 MB) that bundles the Python miner + HIP solver. Extract and run on any Windows machine with an AMD GPU and the AMD HIP SDK installed.

Requirements:

  • AMD GPU (RX 5000 series or newer recommended)
  • AMD ROCm HIP SDK: pip install rocm_sdk_core
  • Windows 10/11 64-bit

Usage (CMD):

amdbtx-miner.exe --payout-address YOUR_BTX_ADDRESS
amdbtx-miner.exe --payout-address YOUR_BTX_ADDRESS --pool-host POOL_HOST --pool-port POOL_PORT
amdbtx-miner.exe --payout-address YOUR_BTX_ADDRESS --auto-tune
amdbtx-miner.exe --help

Usage (PowerShell -- prefix with .):

.\amdbtx-miner.exe --payout-address YOUR_BTX_ADDRESS
.\amdbtx-miner.exe --payout-address YOUR_BTX_ADDRESS --pool-host POOL_HOST --pool-port POOL_PORT
.\amdbtx-miner.exe --payout-address YOUR_BTX_ADDRESS --auto-tune
.\amdbtx-miner.exe --help

Linux Portable Miner:
A single amdbtx-miner (24 MB ELF) that bundles the Python miner + HIP solver. Extract and run on any Linux machine with an AMD GPU and ROCm.

Requirements:

  • AMD GPU (RX 5000 series or newer recommended)
  • ROCm HIP runtime providing libamdhip64.so.7:
    • Ubuntu 22.04/24.04: sudo apt install rocm-hip-runtime
    • Debian 12: sudo apt install rocm-hip-runtime
    • Fedora 39/40: sudo dnf install rocm-hip-runtime
    • Arch Linux: sudo pacman -S rocm-hip-runtime
  • glibc >= 2.35 (Ubuntu 22.04+, Debian 12+, Fedora 37+, Arch rolling, etc.)

Usage:

./amdbtx-miner --payout-address YOUR_BTX_ADDRESS
./amdbtx-miner --payout-address YOUR_BTX_ADDRESS --pool-host POOL_HOST --pool-port POOL_PORT
./amdbtx-miner --payout-address YOUR_BTX_ADDRESS --auto-tune
./amdbtx-miner --help

Architectures: gfx900, gfx906, gfx1030, gfx1031, gfx1032, gfx1100, gfx1101, gfx1102, gfx1103, gfx1200, gfx1201

Checksums:

  • amdbtx_miner-1.2.0-py3-none-any.whl: 861199968a1c4e78b51061f889e986b579d0720afa5d28d61925f5986989a597
  • btx-gbt-solve-hip: b61784d537a3e0011e9aa527cca8399a30e6a01954cf56a3177b16f3cf0f29a3
  • amdbtx-1.2.0_hiveos.tar.gz: 4150 bytes (see release assets)
  • amdbtx-miner-windows-v1.2.0.zip: 1cf441c136968bc0aa765101a196a590e8807bc97227aaba3deeb88492cc2df7
  • amdbtx-miner-linux-v1.2.0.tar.gz: 8a3f0a3cf1f4777de01798bffa9fd68bf5843840e5c98e10bd580f1e6b4341ef

v1.1.9 - Multi-arch solver + subscribe fallback

Choose a tag to compare

@thekillsquad007 thekillsquad007 released this 02 Jul 20:02

Fixed: removed jsonrpc 2.0 from stratum messages (broke BitMinerPool handshake)

AMDBTX v1.1.9

Choose a tag to compare

@thekillsquad007 thekillsquad007 released this 02 Jul 17:39
6abac94

AMDBTX v1.1.9

What is new

  • Faster GPU mining on RDNA 2/3 cards (better default batch sizing)
  • amdbtx-miner --benchmark helps find the best settings for your GPU
  • LuckyPool support (auto-detected)
  • Default install compiles for your GPU; use --use-prebuilt for a quick setup without a compiler

Install

curl -fsSL https://raw.githubusercontent.com/thekillsquad007/amdbtx/main/install_amd.sh | bash -s -- --address btx1z...YOUR_ADDRESS --yes

Prebuilt assets are also on amdbtx-releases.

AMDBTX v1.1.7 LuckyPool Solve Job Fix

Choose a tag to compare

  • Preserves LuckyPool nonceBits when the mining loop copies current_job into solve_job, so submitted shares keep the required 40-bit suffix format.\n- Fixes the observed case where logs showed nonce_bits=40 on the job but submit still sent a full 64-bit nonce.\n- Updates installer defaults to amdbtx_miner-1.1.7-py3-none-any.whl with SHA256 41d01a5a18d13dfa9d80ec23367e2571de5d42e1db87a7c9ae4089498b42bdc6.\n\nVerification: Windows and WSL compileall passed; direct submit check converts full nonce 918f7e00b0853113 to suffix 00b0853113.

AMDBTX v1.1.6 LuckyPool Sparse Job Fix

Choose a tag to compare

  • Handles LuckyPool job messages that omit nonceBits by preserving the prior suffix width across job/height changes.\n- Adds a fallback that infers common LuckyPool suffix widths from aligned nonce_start values, so a sparse job cannot revert submit to a full 64-bit nonce.\n- Logs LuckyPool nonce_bits on each job for easier diagnosis.\n- Updates installer defaults to amdbtx_miner-1.1.6-py3-none-any.whl with SHA256 370777d3a8c77c118cc8b52417d3db8195090b91e1b87bee2627867442ec6ad0.\n\nVerification: Windows and WSL compileall passed; direct sparse-job check converts full nonce 1a35890093a6bdf4 to suffix 0093a6bdf4.

AMDBTX v1.1.5 LuckyPool Rotation Fix

Choose a tag to compare

  • Preserves LuckyPool nonceBits across same-height job rotations so rotated jobs submit the required nonce suffix instead of reverting to a full 64-bit nonce.\n- Fixes expected share logging for short pool targets by matching the solver's right-padding target normalization.\n- Updates installer defaults to amdbtx_miner-1.1.5-py3-none-any.whl with SHA256 5e0079c7fd130238a7d3f92bf0b9caea0741a23bae69dc97add5a487fb027d9c.\n\nVerification: Windows and WSL compileall passed; direct LuckyPool rotated-job check converts full nonce 7069e703235b9f46 to suffix 03235b9f46.

AMDBTX v1.1.4 LuckyPool Nonce Submit Fix

Choose a tag to compare

  • Fixes LuckyPool share submission by sending the pool-assigned nonce suffix width from nonceBits instead of the full 64-bit solver nonce.\n- This addresses LuckyPool rejects with error code 20: incorrect size of nonce64.\n- Updates installer defaults to amdbtx_miner-1.1.4-py3-none-any.whl with SHA256 54fd7866eb20c354df5bb6c3ef96b9ca639b153bb90856bb071579b007fd7341.\n\nVerification: Windows and WSL compileall passed; direct LuckyPool submit formatting check sends 0074026c11 for the rejected log nonce 8d67420074026c11.

AMDBTX v1.1.3 LuckyPool Login Support

Choose a tag to compare

  • Adds LuckyPool login/job/submit protocol fallback for pools that return Method not found for mining.subscribe.\n- Preserves config worker names by making --worker-name optional unless explicitly passed.\n- Adds pool visibility logging for nonce range and expected share estimates.\n- Updates installer defaults to download amdbtx_miner-1.1.3-py3-none-any.whl with SHA256 d186a5910f4d20b7f0fd0c7186825e69e5feeb784bc7ef13233e9094253cf5a3.\n\nVerification: python compileall passed on Windows and WSL. Short LuckyPool live run logged in and received jobs; no real share was found in the short window.