Parellalization of Circuits #338
-
I am running some |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
hey, so, short answer, the prover already uses all available cores. Encode proof is highly parallelized, and there isn't much room for iimprovment here (other than GPU / FPGA based acceleration). |
Beta Was this translation helpful? Give feedback.
-
Is there a way (within tests) to run prover with only 1 core? I am looking to do some benchmarking. |
Beta Was this translation helpful? Give feedback.
hey, so, short answer, the prover already uses all available cores.
Longer version;
frontend.Compile(circuit) -> constraint system
prover.Prove(constraint system, witness) -> 1. solve constraint system 2. encode proof
Encode proof is highly parallelized, and there isn't much room for iimprovment here (other than GPU / FPGA based acceleration).
The first part, solving the constraint system, is "naively" parallelized; constraints that are independent are solved independently, but some pre-processing and smarter grouping of this graph of constraints could improve things a bit. However, in most settings, solving the constraint system is < 5% of the total proving time 👍 (exception for very lar…