v0.2.3 - conservative memory OC + per-GPU --device
Two additions, both opt-in and off by default.
--mem-oc — a conservative memory overclock chosen by GPU generation
(memory is the same across a generation, so one validated value covers it).
On AMD it raises the memory clock a safe amount over stock through the amdgpu
overdrive sysfs table: it resets the table to defaults first so a bump never
compounds on an already-raised clock, reads the true stock, applies stock+bump
clamped to the driver's range, and puts the clock back when the miner stops.
RDNA3 ships +75 MHz - a 7900 XT measured stable at +100 and correctness-verified,
crashing at +150, so +75 leaves margin - worth about 5%. RDNA2 gets a smaller
+50; anything unproven is left alone. It needs amdgpu overdrive enabled
(amdgpu.ppfeaturemask=0xffffffff on the kernel command line, then reboot) and
root, and it tells you exactly that if it is off. On NVIDIA it points you at
--mclk-offset instead, which undoes the P2 downclock.
--device N picks the GPU (CUDA now has it too; Vulkan already did). Run one
process per card for a multi-GPU rig, each with its own --device and
--mem-oc:
./soat-miner --device 0 --mem-oc --pool ... &
./soat-miner --device 1 --mem-oc --pool ... &
One process per card means a hung overclock on one GPU cannot take the others
down. A single process driving every GPU at once is not built yet.
No dev fee. Verified: 7900 XT 1250 -> 1325 MHz, reset-on-exit confirmed, make
test green on both backends.