This release updates to stark-backend v1.2.1 for CUDA performance gains in the backend. Other changes include:
Added
- (CLI) Add configurable segmentation arguments to
cargo openvm provecommands.
Changed
- (Toolchain) Update
cargo openvm buildto use Rust nightly versionnightly-2025-08-02. - (Primitives Library) Fix in
openvm-algebra-complex-macrosto ensureconstbyte arrays have proper memory alignment. - (Executor) Modified
VirtualMachine::build_metered_ctxto take the program (&VmExe<Val<E::SC>>) as an argument. - (Prover/Executor) Changed default segmentation limits and updated segmentation logic.
What's Changed
- chore: mention "keygen before commit" in the docs by @Golovanov399 in #2111
- ci(vocs): update pnpm lock file by @jonathanpwang in #2112
- ci(vocs): hard copy all symlink dirs by @jonathanpwang in #2113
- ci(ami): add RunsOn image for cuda 12.9 by @jonathanpwang in #2115
- fix(ci/docs): recommend CUDA toolkit 12.9 by @jonathanpwang in #2116
- ci: build docs with cuda feature by @jonathanpwang in #2117
- ci: add release workflow to upload agg,halo2 pk to s3 by @jonathanpwang in #2114
- chore(audit): ignore cargo audit false positive by @jonathanpwang in #2120
- docs: add whitepaper link to vocs by @Qumeric in #2119
- ci: skip debug during CI air test by @stephenh-axiom-xyz in #2118
- fix: reduce threads per block for FRI tracegen launcher by @stephenh-axiom-xyz in #2124
- ci: script + workflow to run clang-tidy during CUDA lints by @stephenh-axiom-xyz in #2122
- docs(vocs): use versioned rustdocs redirect by @jonathanpwang in #2125
- perf: pass state variables by value in
tcoexec handlers by @shuklaayush in #2121 - chore(cuda): use newer ami by @gaxiom in #2131
- ci(cuda-13): clean git cache by @jonathanpwang in #2132
- perf: only do exit check for instructions that can exit by @shuklaayush in #2126
- ci(runs-on): set CUDA_ARCH env var in pre-install by @jonathanpwang in #2133
- chore(cuda): update
cuda-backendwith Virtual Memory Manager and NTT refactor by @gaxiom in #2127 - fix: add std feature to openvm-prof serde by @stephenh-axiom-xyz in #2135
- fix: take program air height into account in metered execution by @shuklaayush in #2137
- chore(cuda): update poseidon2 kernel to use memory manager by @gaxiom in #2108
- fix: ensure segments are below thresholds by @shuklaayush in #2138
- fix: log more information for segments by @shuklaayush in #2143
- feat: E2 supports suspension & VmExecState supports clone by @nyunyunyunyu in #2140
- chore: Rename
execute_metered_until_suspensiontoexecute_metered_until_suspendby @nyunyunyunyu in #2144 - chore: update install link by @trevor-trinh in #2146
- chore: bump stark-backend to
v1.2.1-rc.2by @jonathanpwang in #2148 - chore(cuda): BabyBear unified + CUDA_DEBUG + opener in natural order by @gaxiom in #2149
- fix: Over-align public constants in moduli_init by @Avaneesh-axiom in #2150
- chore: update
openvm buildnightly version by @jonathanpwang in #2152 - fix: execution from non-zero
instretby @jonathanpwang in #2155 - chore: add sdk app prove without verify by @luffykai in #2164
- chore(cuda): keccakf memcpy handling of padding by @jonathanpwang in #2167
- feat(cuda): VPMM v3 and async app prover by @gaxiom in #2165
- chore: Remove send + sync bound on executor by @Schaeff in #2156
- feat(cuda): use VPMM v3.1 by @gaxiom in #2169
- docs(transpiler): clarify
itoffunction definition by @jonathanpwang in #2170 - audit: v1.4.1 report by @jonathanpwang in #2172
- chore(docs): update link to example repo by @jonathanpwang in #2176
- fix(cuda): sync memory subtree streams before drop by @jonathanpwang in #2175
- fix: Expose CUDA primitives by @qwang98 in #2179
- feat(cli): add
SegmentationArgstoprovecommand by @jonathanpwang in #2178 - release: v1.4.1 by @jonathanpwang in #2171
New Contributors
- @trevor-trinh made their first contribution in #2146
- @Schaeff made their first contribution in #2156
- @qwang98 made their first contribution in #2179
Full Changelog: v1.4.0...v1.4.1