View Single Post
Old 2022-01-19, 14:56   #1
EdH's Avatar
"Ed Hall"
Dec 2009
Adirondack Mtns

10011001110002 Posts
Default Lattice Sieving with GPU

Please redirect me if the following has been discussed elsewhere.

Originally Posted by xilman View Post
. . .
Most GPUs do not have enough memory to be effective with the GNFS.
This partial post from a different thread has prompted the following:

When I run CADO-NFS on my clients, the memory usage is primarily based on the size of the candidate and the options involved, but not so much the number of threads. I'm able to gain a tiny bit of throughput by maximizing the number of clients to use most of the available memory and then adjusting the threads such that all available are in use for those clients. As an example, I can get a little more from two clients running 4 threads each than one client running 8 threads. Each client in all cases uses about the same amount of memory, dependent on the candidate and the options. For the current slate of numbers I'm factoring, the clients are using less than 1G, independent of the number of threads (although my thread count is nowhere near the available threads for a GPU).

For the memory limited machines, I run a single client with maximum threads.

Would a GPU work for lattice sieving for smaller candidates with a single client, perhaps using less than the full set of GPU cores? Or is the parallelization too much different between GPU and CPU multi-threading? (I only did a small amount of CUDA programming back in the CUDA 5 era, so I don't remember the differences.)
EdH is offline   Reply With Quote