You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the simulate_cpu function, we call transition(state, kernel) sequentially to update the state. Inside the transition function, we use try_perform_instruction once, where we decode the state.registers once. So the simplest solution to parallelize this computation is by parallelizing the matching pattern inside the decode function.
To do that, we need to create a vector consists of all possible patterns and their corresponding results, allowing us to use iter_par for parallel processing. However, this approach takes a lot of memory, and slows down the decode because of the time required to construct the vector. So it does not bring any tangible benefit.
We think about changing the whole simulator process for optimization.
Test if we can decode in parallel, then perform it. https://github.com/zkMIPS/zkm/blob/main/prover/src/witness/transition.rs#L531
The text was updated successfully, but these errors were encountered: