Repository navigation
Adds --autosavetimer SECONDS — periodic checkpoints while the search runs.
A checkpoint was only written on a clean exit: Ctrl+C, --seconds, or finishing
the range. A crash, a power cut or kill -9 left nothing behind, which is
exactly the case a checkpoint exists to cover. On a multi-day search that is the
whole run gone.
CUDACyclone --range AAAA:BBBB --address 1Abc... --autosavetimer 300
[autosave] checkpoint written to cyclone_checkpoint.txt at 12.04% (48318382080 keys checked)
Recovery is the ordinary --resume path — an autosaved file is the same format
and the same encryption the exit path already writes.
Notes
- It does not pause the search. The save reads the per-thread counters
without draining the GPU pipeline. An earlier version synchronised the stream
and stalled the search ~6 s at every save; that is gone. - It cannot skip keys. The counters are read while kernels still run. They
only ever count down and the code takes the max across threads, so a
mid-flight read understates progress — a resume repeats a little work rather
than missing any. - A crash during a save cannot corrupt the previous one. The file is written
to<checkpoint>.tmpand renamed over the target. - Ignored in random mode, which has no linear progress to record.
--autosaveworks as an alias.
Pick the interval for what you are protecting against; 300 (5 min) is sensible
for an overnight run.
Assets
| asset | architectures | built with |
|---|---|---|
CUDACyclone-v3.1-windows-x64-sm120.exe |
sm_120 only | CUDA 13.1 + MSVC 14.44 |
CUDACyclone-v3.1-linux-x64-sm120 |
sm_120 only | CUDA 12.8 + g++, Ubuntu 24.04 |
These are RTX 50-series only. On any other card take
v3.1-multiarch,
which covers Turing through Blackwell, or build from source — see README.md.
The Linux build is deliberately on CUDA 12.8 rather than 13.x: it asks for an
older minimum driver, so it runs on machines that have not updated. chmod +x
it after downloading.