Skip to content

MultiCyclone v3.1 - autosave timer

Latest

Choose a tag to compare

@kemo159 kemo159 released this 27 Aug 19:15
· 3 commits to main since this release

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>.tmp and renamed over the target.
  • Ignored in random mode, which has no linear progress to record.
  • --autosave works 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.