Skip to content

GPU scanning for lws? #262

Description

@Medtabka

hi, not sure if this is interesting to you but figured i'd ask.

i took the view-key scan that lws does (the per-output derive + view tag + key compare) and moved it onto the GPU with CUDA. i didn't reimplement any of the curve math, it's literally the ref10 from monero with device added to it, so the GPU output comes out identical to a plain CPU reference, and i keep a test that fails if they ever disagree.

it also handles subaddresses, including the additional pubkeys case (extra tag 0x04), so txs paying multiple subaddresses still get found.

speed wise, on my 4080 the full stagenet chain (~10M outputs) scans in about 1.3 seconds. a single threaded CPU scan of the same data takes minutes, so the speedup is big (there are more detailed numbers in the repo).

code is here if you want to look: https://github.com/Medtabka/monero-gpu-scanner

would something like this be useful for lws? i can share the kernel or the modified scanner, whatever's easier. cheers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions