Releases: openvm-org/stark-backend
v2.0.0-alpha
Preview of v2.0.0-alpha: https://blog.openvm.dev/2.0
v1.3.0
Changed
- Updated Plonky3 to crates.io
v0.4.1. - Updated STARK protocol to 100 bits of provable security with FRI.
All users are recommended to upgrade to the new v1.3.0 release to target 100 bits of provable security.
What's Changed
- chore(cuda): vpmm oom recovery by @gaxiom in #226
- fix: mutex poisoning in
COPY_EVENTby @Golovanov399 in #238 - release: v1.3.0-rc.0 by @jonathanpwang in #214
- update plonky3 by @zlangley in #195
- add provable params by @zlangley in #202
- fix: soundness calculator with grinding for DEEP-ALI by @jonathanpwang in #231
- chore(cuda): better inv for fp by @gaxiom in #240
- release: v1.3.0 by @jonathanpwang in #241
Full Changelog: v1.2.3...v1.3.0
v1.2.3
What's Changed
- feat(cuda): async vpmm by @gaxiom in #213
- release: v1.2.3 by @jonathanpwang in #224
Full Changelog: v1.2.2...v1.2.3
v1.2.2
v1.2.2
Changed
- (CUDA backend) The alignment of
FpExtis changed to 4 bytes (from 16 bytes) to match the Rust Plonky3 alignment for the BabyBear degree-4 extension field. - (CUDA common) Fix for VPMM to re-use unmapped VA regions and claim more VA ranges on-demand if needed. Lowers the default VA range to 8TB to support Windows.
What's Changed
- feat(metrics): Include air id in trace metrics by @Schaeff in #162
- fix(ci): rust cache depends on cuda arch by @jonathanpwang in #185
- fix(cuda): vpmm v4 - reusing VA & synced defrag by @gaxiom in #179
- chore: update workspace to
v1.2.2-rc.0and changelog by @jonathanpwang in #186 - chore(cuda): vpmm tests - simplify and harden by @gaxiom in #189
- fix(cuda): switch bb31_4_t to align(4) to match plonky3 by @jonathanpwang in #176
- chore: update to
v1.2.2-rc.1by @jonathanpwang in #196 - chore: update clang-tidy CI command to include checks by @stephenh-axiom-xyz in #200
- chore(cuda): vpmm defrag tests coverage by @gaxiom in #198
- release: v1.2.2 with updated changelog by @jonathanpwang in #204
New Contributors
Full Changelog: v1.2.1...v1.2.2
v1.2.1
This release offers major performance improvements to the CUDA backend. It includes a new Virtual Pool Memory Manager (VPMM) in openvm-cuda-common that provides multi-stream memory management using CUDA driver APIs to avoid memory fragmentation. Several kernels in openvm-cuda-backend were also optimized to give significant performance gains.
Added
- (CUDA common) New memory manager with Virtual Pool (VPMM Spec) with multi-stream support built on top of the CUDA Virtual Memory Management driver API
Changed
- (CUDA common) Multi-arch build support
- (CUDA backend) Quotient values kernel optimization
- (CUDA backend) FRI reduced opening kernel optimization by removing bit reversal for better memory access patterns
What's Changed
- ci: add custom RunsOn runners by @jonathanpwang in #117
- ci: pin gpu image to cuda 12.9 by @jonathanpwang in #116
- feat(cuda): Virtual Pool Memory Manager by @gaxiom in #114
- feat: utility to generate SymbolicConstraintsDag statistics by @stephenh-axiom-xyz in #118
- fix(cuda): Stop using constant twiddle by @gaxiom in #119
- chore: use newer ami by @luffykai in #124
- chore(cuda): Ntt refactoring by @gaxiom in #123
- fix(cuda): NTT edge case by @gaxiom in #126
- feat: support multiple CUDA archs by @gaxiom in #127
- docs(readme): Fix Crate Docs link in README by @jonathanpwang in #129
- feat: Quotient evaluation optimization by @stephenh-axiom-xyz in #131
- chore: bump workspace to
v1.2.1-rc.2by @jonathanpwang in #132 - chore(cuda): universal babybear impl by @gaxiom in #130
- chore(cuda): CUDA_DEBUG by @gaxiom in #133
- chore: bump workspace to
v1.2.1-rc.3by @jonathanpwang in #134 - perf(cuda): Opener in natural order by @gaxiom in #135
- feat(cuda): Support multithreaded VPMM + bump up to
1.2.1-rc.4by @gaxiom in #136 - fix(cuda): VPMM reallocate after auto-cleanup by @gaxiom in #138
- chore(cuda): auto-cleanup VPMM fix + multithreaded Ci + zero pages allow by @gaxiom in #139
- chore: bump workspace to v1.2.1-rc.5 by @jonathanpwang in #143
- chore: loosen tokio versioning by @jonathanpwang in #146
- feat(cuda): VPMM v3 by @gaxiom in #148
- fix: cost estimate unread variable by @jonathanpwang in #151
- fix: don't defrag what we already defraged by @gaxiom in #150
- fix(cuda): set device order by @gaxiom in #152
- chore(cuda): VPMM order changed by @gaxiom in #153
- release: v1.2.1 with updated changelog by @jonathanpwang in #156
Full Changelog: v1.2.0...v1.2.1
v1.2.0
This release adds an open-source ProverBackend for Nvidia GPUs using CUDA.
What's Changed
- feat: Replace metrics_span with custom TimingMetricsLayer by @jonathanpwang in #81
- fix(metrics): remove
_time_msfrom span name by @jonathanpwang in #84 - chore: make plonky3
nightly-featuresoptional by @jonathanpwang in #85 - chore: add DeepWiki link by @yi-sun in #87
- feat: update
Chiptrait to be generic inProverBackendby @jonathanpwang in #83 - chore: lower FRI params log to debug by @jonathanpwang in #89
- feat: CUDA prover backend by @gaxiom in #95
- fix(ci): generate docs on gpu by @jonathanpwang in #98
- fix(ci): docs action ref_type by @jonathanpwang in #99
- chore(cuda): Add files and includes to watch list by @gaxiom in #101
- chore: script + workflow to run clang-tidy on CUDA code by @stephenh-axiom-xyz in #100
- docs: update contributor docs on cuda crates and IDE setup by @jonathanpwang in #102
- fix: use plonky3
Packedtypes for SIMD compatibility by @jonathanpwang in #103 - fix: CUDA init in proper order by @gaxiom in #104
- chore(cuda): delete unused code by @gaxiom in #105
- chore: Add the signature matcher, fix the one warning it found by @Golovanov399 in #106
- chore: bump workspace version to
v1.2.0-rc.5by @jonathanpwang in #107 - fix: ntt on default stream by @gaxiom in #108
- chore: bump workspace to
v1.2.0-rc.6by @jonathanpwang in #109 - fix: cuda memory init by @gaxiom in #110
- chore(cuda): Sync when release big buffer & bump version to
1.2.0-rc.8by @gaxiom in #111 - Revert "chore(cuda): Sync when release big buffer & bump version to
1.2.0-rc.8" by @jonathanpwang in #113 - docs: scroll mentioned by @gaxiom in #112
- release: v1.2.0 by @jonathanpwang in #115
New Contributors
- @Golovanov399 made their first contribution in #106
Full Changelog: v1.1.1...v1.2.0
v1.1.1
What's Changed
- perf: optimize
compute_quotient_valuesby @jonathanpwang in #75 - feat: Export metrics to Prometheus server by @manh9203 in #70
- chore: remove unused modules by @jonathanpwang in #77
- chore: change to dual license by @yi-sun in #78
- fix: allow number of AIRs to exceed
256by @jonathanpwang in #80 - feat: add methods to get air widths/interactions from vkey by @shuklaayush in #79
New Contributors
- @manh9203 made their first contribution in #70
- @shuklaayush made their first contribution in #79
Full Changelog: v1.1.0...v1.1.1
v1.1.0
Security Fix
This release updates the Plonky3 commit with the patch for security advisory GHSA-f69f-5fx9-w9r9. See more details in GHSA-4w7p-8f9q-f4g2
What's Changed
- chore: bump workspace version to
1.0.1by @jonathanpwang in #74 - release: v1.1.0 by @jonathanpwang in #76
Full Changelog: v1.0.1...v1.1.0
v1.0.1
What's Changed
- chore: add KoalaBear export to stark-sdk by @stephenh-axiom-xyz in #65
- chore: make keccakf example smaller by @jonathanpwang in #67
- perf: cpu
TraceCommittershould reserve capacity for LDE by @jonathanpwang in #68 - perf: avoid needless clones in permutation trace commit by @jonathanpwang in #69
- feat!: drop main trace earlier for lower peak memory by @jonathanpwang in #71
- chore: log quotient poly cells by @jonathanpwang in #72
- feat: reserve capacity for perm & quotient LDE; avoid copy for quotient split by @jonathanpwang in #73
New Contributors
- @stephenh-axiom-xyz made their first contribution in #65
Full Changelog: v1.0.0...v1.0.1
v1.0.0
OpenVM Stark Backend v1.0.0: Production Ready
What's Changed
- feat: observe AIR IDs in Fiat-Shamir transcript by @jonathanpwang in #56
- fix: verifier should check proof shape by @jonathanpwang in #57
- chore: Make SymbolicExpressionDag fields public by @gaxiom in #58
- chore(sdk): add example with interactions by @jonathanpwang in #55
- chore: update to rust stable 1.85 by @jonathanpwang in #59
- fix(ci): use +nightly for docs build by @jonathanpwang in #60
- fix(plonky3): update plonky3 commit by @jonathanpwang in #62
- feat: update security for v1 release by @yi-sun in #61
- release: v1.0.0 by @jonathanpwang in #63
New Contributors
Full Changelog: v1.0.0-rc.2...v1.0.0