Skip to content

feat: typeless AddressMap with typed APIs #1559

New issue

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

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

Already on GitHub? # to your account

Merged
merged 5 commits into from
Apr 10, 2025

Conversation

jonathanpwang
Copy link
Contributor

@jonathanpwang jonathanpwang commented Apr 6, 2025

Note: this PR is not targeting main.
I've used TODO and TEMP to mark places in code that will need to be cleaned up before merging to main.

Beginning the refactor of online memory to allow different host types in different address spaces.
Going to touch a lot of APIs.
Focusing on stabilizing APIs - currently this PR will not improve performance.

Tests will not all pass because I have intentionally disabled some logging required for trace generation.
Only execution tests will pass (or run the execute benchmark).

In future PR(s):

  • make Memory trait for execution read/write API
  • better handling of type conversions for memory image
  • replace the underlying memory implementation with other implementations like mmap

Towards INT-3743

Even with wasteful conversions, execution is faster:
Before: https://github.com/openvm-org/openvm/actions/runs/14318675080
After: https://github.com/openvm-org/openvm/actions/runs/14371335248?pr=1559

@jonathanpwang jonathanpwang marked this pull request as ready for review April 9, 2025 07:59
@jonathanpwang jonathanpwang merged commit 225bb16 into feat/new-execution Apr 10, 2025
5 of 24 checks passed
@jonathanpwang jonathanpwang deleted the feat/typed-memory branch April 10, 2025 04:47
jonathanpwang added a commit that referenced this pull request Apr 14, 2025
Note: this PR is not targeting `main`.
I've used `TODO` and `TEMP` to mark places in code that will need to be
cleaned up before merging to `main`.

Beginning the refactor of online memory to allow different host types in
different address spaces.
Going to touch a lot of APIs.
Focusing on stabilizing APIs - currently this PR will not improve
performance.

Tests will not all pass because I have intentionally disabled some
logging required for trace generation.
Only execution tests will pass (or run the execute benchmark).

In future PR(s):

- [ ] make `Memory` trait for execution read/write API
- [ ] better handling of type conversions for memory image
- [ ] replace the underlying memory implementation with other
implementations like mmap

Towards INT-3743

Even with wasteful conversions, execution is faster:
Before: https://github.com/openvm-org/openvm/actions/runs/14318675080
After:
https://github.com/openvm-org/openvm/actions/runs/14371335248?pr=1559
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants