Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

To implement the continuation #555

Open
grandchildrice opened this issue Jan 10, 2025 · 0 comments
Open

To implement the continuation #555

grandchildrice opened this issue Jan 10, 2025 · 0 comments

Comments

@grandchildrice
Copy link

Hello jolt team. I am interested in implementing continuation to jolt related to this issue #211. In SP1, RISC Zero and Ceno, continuation is at the most central to the parallelization strategy. According to my benchmarks, I can expect up to 10x speedup on a Mac Studio M2 64GB Memory machine.

parallel-performance

I am aware that jolt has a strategy to reduce the memory usage to 10GB by implementing continuations in a folding manner. I would like to actually implement it and run some benchmarks.

I have previously worked on that for 5 days. Our efforts are as follows.

  1. add segment_trace() function to jolt/vm/read_write_memory.rs and split the trace evenly
  2. add functions prove_segment() and verify_segment() to jolt/vm/mod.rs to verify that per-segment proving works.
  3. add functions to lasso/memory_checking.rs, lasso/surge.rs, subprotocols/grand_product.rs to aggregate instructionLookup's memory_checking proofs, and Test the aggregation

The goal was to test up to 3 and then implement the folding function and compare it with the aggregation function.
In the end, I stumbled on the implementation of trace segmentation. Implementing consistent init and final values for each segment was extremely difficult. I wondered if it would be better to directly modify the trace()function injolt/trace/src/lib.rs.

I would like to first implement and test it with the least amount of changes, and would appreciate any ideas for the design of continuation in Jolt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant