igneum/proto-cuda/windows-app/START-MINING.bat
2026-10-04 10:10:03 +00:00

72 lines
4.3 KiB
Batchfile

@echo off
rem Igneum devnet v4 mining for Windows (package 0.3.0), the miners only. Double-click this file.
rem It finds the GPUs in this PC, builds the matching GPU workers on first run (NVIDIA: CUDA, AMD: OpenCL), and runs
rem one igneum-miner per worker (MINERS identities inside it) against a node that is already running (START-NODE.bat
rem here, or the Mac). Logs land next to this file and are uploaded every 60 seconds. START-IGNEUM.bat runs the node
rem and the miners together instead. The window shows a dashboard: hash rate, blocks found and one cell per miner.
rem Stop with Ctrl+C; the window stays open at the end.
rem ---- settings: edit these lines only ----------------------------------------------------------
rem auto = a node on this PC (START-NODE.bat, 127.0.0.1) when one is running, else the Mac node at 192.168.68.64. Or an address.
set "NODE_HOST=auto"
set "NODE_PORT=26610"
rem EVM payout address (0x + 40 hex) for the block rewards of every identity on this PC. Leave empty for one address
rem per GPU vendor, derived from this PC's name (shown in the launcher log and the dashboard).
set "PAYOUT_EVM="
rem Devnet UTXO payout address (igneumdev:...). Leave empty for one address per identity, derived from this PC's name.
set "PAYOUT_ADDRESS="
rem Finality voting: 1 = every identity signs every checkpoint (the default on v4). 0 = mine without voting.
set "VOTE=1"
rem NVIDIA: CUDA device index (0 = first card). CUDA_ARCH is the nvcc architecture for the build path only (sm_120 = RTX 50
rem series; "native" lets nvcc pick); the prebuilt worker finds the card's own architecture by itself. WORKER_ARCH overrides
rem the prebuilt worker's NVRTC target (sm_XY or compute_XY); leave it empty.
set "NVIDIA_DEVICE=0"
set "CUDA_ARCH=sm_120"
set "WORKER_ARCH="
rem 1 = ignore the prebuilt workers and build the old ones from source with nvcc / cl.exe (needs CUDA Toolkit + Visual
rem Studio); for a comparison run only.
set "FORCE_BUILD=0"
rem AMD: by default the first OpenCL GPU whose vendor string contains AMD_VENDOR is used, never an NVIDIA device.
rem Set AMD_DEVICE to a flat device index from the worker's --list output to override.
set "AMD_VENDOR=Advanced Micro Devices"
set "AMD_DEVICE="
rem Miner identities per GPU vendor. On v4 one miner process and ONE worker per card serve all of them (--identities):
rem one dataset and one program on the card, jobs alternate identities, each identity has its own vote key and payout
rem label derived from this PC's name and the index. Set ONE_PROCESS_PER_IDENTITY=1 for the old layout (one worker
rem process per identity, about 1.3 GiB of GPU memory each).
rem Name used for identities, vote keys and the payout address. Empty = this PC's Windows name. SET THIS when two PCs share a name (cloned image).
set "MACHINE_NAME="
set "MINERS=8"
set "ONE_PROCESS_PER_IDENTITY=0"
rem Set to 0 to skip a vendor even if the hardware is present.
set "USE_NVIDIA=1"
set "USE_AMD=1"
rem Nonces per job (one job = one block template; a multiple of 32). Empty = the miner's default of 16,777,216, which an
rem RTX 5090 identity finishes in under a second. The integrated AMD GPU needs 100 s for that, so it mines stale templates
rem and reports late; 2,097,152 keeps its jobs near 10 s.
set "NVIDIA_JOB_NONCES="
set "AMD_JOB_NONCES=2097152"
rem The window shows a dashboard (one card per GPU, redrawn in place). Set PLAIN=1 for the old scrolling log instead;
rem the launcher also falls back to it by itself when the window is not a real console.
set "PLAIN=0"
rem Visual Studio: the MSVC toolset CUDA 12.8 accepts (14.30 = MSVC v143). Adjust the path if Visual Studio is elsewhere.
set "VCVARS=C:\Program Files\Microsoft Visual Studio\18\Community\VC\Auxiliary\Build\vcvarsall.bat"
set "VCVARS_VER=14.30"
rem -------------------------------------------------------------------------------------------------
cd /d "%~dp0"
if not exist "%~dp0start-mining.ps1" (
echo Please extract the whole zip first ^(right-click, Extract All^), then run START-MINING.bat from the extracted folder.
pause
exit /b 1
)
where powershell >nul 2>nul
if errorlevel 1 (
echo PowerShell was not found. Windows 10 and 11 ship it; nothing else can be done here.
pause
exit /b 1
)
powershell -NoProfile -ExecutionPolicy Bypass -File "%~dp0start-mining.ps1"
echo.
echo The mining test has stopped. The log files are next to this file and were uploaded if the upload tool is present.
pause