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
Currently, Matrix struct stores trace and polynomial evaluation data in a column-major order. This allows us to run LDE for each column independently, but presents challenges during constraint evaluation where we need to process two sequential rows. Thus, we spend some time reading rows from the trace by copying values from each column into an EvaluationFrame struct.
A better approach could be to store data in a Matrix in a row-major order. This has the following advantages:
EvaluationFrame can just store pointers to rows in the trace - no need to move any data around.
Running LDE and FFT over multiple columns in parallel will actually be faster - probably up to 20% faster than doing it column by column as we do now.
The text was updated successfully, but these errors were encountered:
Currently, Matrix struct stores trace and polynomial evaluation data in a column-major order. This allows us to run LDE for each column independently, but presents challenges during constraint evaluation where we need to process two sequential rows. Thus, we spend some time reading rows from the trace by copying values from each column into an
EvaluationFrame
struct.A better approach could be to store data in a
Matrix
in a row-major order. This has the following advantages:EvaluationFrame
can just store pointers to rows in the trace - no need to move any data around.The text was updated successfully, but these errors were encountered: