bellperson icon indicating copy to clipboard operation
bellperson copied to clipboard

Large batch sizes with SupraSeal

Open vmx opened this issue 2 years ago • 2 comments

When using proof batch sizes > 10, things will take a lot of memory. There's now a memory optimized code path which is only enabled for SupraSeal as it takes advantage of the shape of the Filecoin circuits. It may not be as efficient with other circuits.

This PR doesn't change the current PoRep behaviour, it is a different code path only if the proofs size is >10, which is the case for e.g. non-interactive PoRep. With these changes, non-interactive PoRep, which has about 12.6x times the proofs to do compared to the interactive PoRep, runs only about 8x slower, while not taking more memory.

vmx avatar Dec 14 '23 16:12 vmx

Sorry I accidentally pushed a change, but I reverted back to what it was.

vmx avatar Dec 15 '23 15:12 vmx

I've converted it to draft, as it needs more work. The CPU usage is not ideal, sometimes the Rayon thread pool is used by the synthesis, which then blocks the representation conversion. Ideally the Synthesis runs whenever the GPU is used.

vmx avatar Dec 18 '23 11:12 vmx