Skip to content

perf(DON'T MERGE): [WIP] execution and tracegen rewrite #1567

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

Draft
wants to merge 41 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
7a1a87f
feat: typeless `AddressMap` with typed APIs (#1559)
jonathanpwang Apr 14, 2025
01c028d
feat: `GuestMemory` trait (#1574)
jonathanpwang Apr 13, 2025
aef64c9
feat(new-execution): make vm segment executor generic (#1582)
shuklaayush Apr 15, 2025
e51d918
feat(new-execution): `TracingMemory` and removal of records/logs (#1584)
jonathanpwang Apr 17, 2025
13d6234
feat(new-execution): add execute functions for rv32im instructions (#…
shuklaayush Apr 18, 2025
b85bfc2
feat(new-execution): `AdapterTraceStep` trait and rv32 ALU refactor (…
jonathanpwang Apr 21, 2025
bcde3f8
feat(new-execution): rv32im tracegen and e1 execution (#1607)
shuklaayush Apr 29, 2025
ae9635c
fix(new-execution): fix some rv32im loadstore tests (#1611)
shuklaayush Apr 29, 2025
e885ec0
feat: access adapters (#1614)
jonathanpwang May 2, 2025
8c2d6af
fix(new-execution): make rv32im hintstore work (#1616)
jonathanpwang May 2, 2025
6c86876
fix(new-execution): don't override min block size (#1619)
shuklaayush May 1, 2025
4a2ac13
fix: auipc tracegen
jonathanpwang May 2, 2025
e9cabd2
chore: remove `OfflineMemory` (#1623)
jonathanpwang May 3, 2025
d12a24d
feat: make rv32im testing uniform accross all the chips (#1630)
arayikhalatyan May 7, 2025
5506f06
fix: divrem tests (#1633)
arayikhalatyan May 7, 2025
9695af7
feat: bigint circuit to compile (#1639)
arayikhalatyan May 12, 2025
9174577
feat(new-execution): add codspeed execution benchmark (#1643)
shuklaayush May 13, 2025
169d5bb
feat: memory access adapters, boundary chips, merkle chip E3 (#1640)
Golovanov399 May 13, 2025
65ab533
fix: Cargo lock & format (#1650)
nyunyunyunyu May 14, 2025
8c33445
fix: new block initialization in memory access adapters (#1651)
Golovanov399 May 14, 2025
164eb0e
feat(new-execution): trigger codspeed ci on branch pushes (#1654)
shuklaayush May 15, 2025
327fe86
feat: new execution remove redundant controller memory e1 (#1653)
Golovanov399 May 15, 2025
d603ad0
feat: mod builder rewrite (#1644)
arayikhalatyan May 15, 2025
cf8bcdc
feat(new-execution): measure walltime in codspeed ci job (#1656)
shuklaayush May 15, 2025
00bab47
feat: rv32im working execution + tracegen + prove (aka integration te…
Golovanov399 May 16, 2025
5da1c54
feat: e1, e3 implementation for sha2 + keccak extensions (#1657)
arayikhalatyan May 20, 2025
950320b
feat(new-execution): metered execution (#1652)
shuklaayush May 20, 2025
e8afdad
fix: handle keccak256 input/output not 4-byte aligned (#1671)
jonathanpwang May 21, 2025
15a9ae8
fix: misaligned calls to sha256 (#1674)
arayikhalatyan May 21, 2025
87e9e3f
fix: remove serialized_modulus and align modulus constant (#1678)
jonathanpwang May 21, 2025
cc1002c
feat(new-execution): port native chips (#1665)
shuklaayush May 22, 2025
b1387a3
fix: integration test (#1679)
arayikhalatyan May 22, 2025
ae501ac
feat(new-execution): add interfaces for running different execute fun…
shuklaayush May 22, 2025
a32e4be
feat: port public values chip and native adapter (#1681)
shuklaayush May 22, 2025
fe29323
chore: bump stark backend (#1682)
shuklaayush May 22, 2025
61913de
fix: add InsExecutorE1 to sdk vc executor (#1684)
luffykai May 22, 2025
f188a93
fix(new-execution): return final memory (#1685)
shuklaayush May 23, 2025
46e36b0
fix(new-execution): add missing pc increment (#1687)
shuklaayush May 23, 2025
cb2a533
fix(new-execution): properly calculate total max cells (#1688)
shuklaayush May 23, 2025
cc62f86
feat: Poseidon2 chip (#1672)
nyunyunyunyu May 23, 2025
e9bc13d
fix: Fix setting initial memory (#1690)
Golovanov399 May 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 50 additions & 8 deletions .github/workflows/benchmarks-execute.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
name: "benchmarks-execute"
name: "Execution benchmarks"

on:
push:
branches: ["main"]
# TODO(ayush): remove after feat/new-execution is merged
branches: ["main", "feat/new-execution"]
pull_request:
types: [opened, synchronize, reopened, labeled]
branches: ["**"]
Expand All @@ -18,6 +19,10 @@ on:
- ".github/workflows/benchmarks-execute.yml"
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: true

env:
CARGO_TERM_COLOR: always

Expand All @@ -26,15 +31,14 @@ jobs:
runs-on:
- runs-on=${{ github.run_id }}
- runner=8cpu-linux-x64
- extras=s3-cache
steps:
- uses: runs-on/action@v1
- uses: actions/checkout@v4

- name: Set up Rust
uses: actions-rs/toolchain@v1
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
profile: minimal
toolchain: stable
override: true
cache-on-failure: true

- name: Run execution benchmarks
working-directory: benchmarks/execute
Expand Down Expand Up @@ -110,3 +114,41 @@ jobs:
echo -e "\nBenchmark Summary:"
cat "$SUMMARY_FILE"
fi

codspeed-benchmarks:
name: Run codspeed ${{ matrix.mode }} benchmarks
runs-on:
- runs-on=${{ github.run_id }}
- runner=8cpu-linux-x64
- extras=s3-cache

strategy:
matrix:
mode: [instrumentation, walltime]
env:
CODSPEED_RUNNER_MODE: ${{ matrix.mode }}

steps:
- uses: runs-on/action@v1
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

- name: Install cargo-binstall
uses: cargo-bins/cargo-binstall@main
- name: Install codspeed
run: cargo binstall --no-confirm --force cargo-codspeed

- name: Build benchmarks
working-directory: benchmarks/execute
run: cargo codspeed build
- name: Run benchmarks
uses: CodSpeedHQ/action@v3
with:
working-directory: benchmarks/execute
run: cargo codspeed run
token: ${{ secrets.CODSPEED_TOKEN }}
env:
CODSPEED_RUNNER_MODE: ${{ matrix.mode }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,6 @@ guest.syms

# openvm generated files
crates/cli/openvm/

# samply profile
profile.json.gz
Loading
Loading