Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
41d177a
block-multiplier: bench WASI compatible.
xrvdg Jan 5, 2026
4be79b3
divan: codspeed only on CI, use regular to build with WASI
xrvdg Jan 5, 2026
11b0366
block-multiplier: widening mul optimised for WASM
xrvdg Jan 5, 2026
be45a09
wasi runners: enable relaxed simd
xrvdg Jan 6, 2026
2d42c76
wasm: bench portable_simd on wasm
xrvdg Jan 6, 2026
813b592
wasm: Add simd flags
xrvdg Jan 6, 2026
1a94a3e
wasm: Add test to portable_simd
xrvdg Jan 6, 2026
0143939
wasm: add portable_simd_wasm
xrvdg Jan 6, 2026
ceee4a2
wasm: optimising 52 bit - not final
xrvdg Jan 6, 2026
493367c
wasm: optimised 52/51-bit integer-to-float conversion
xrvdg Jan 7, 2026
74cc61c
b51: add constants
xrvdg Jan 12, 2026
9500a7b
Montgomery table: use correct prime and add 51bit
xrvdg Jan 20, 2026
f309c49
start 51 bit conversion
xrvdg Jan 20, 2026
3e82bff
kani: check conversion with kani
xrvdg Jan 20, 2026
55f0268
b51: generate RHO values
xrvdg Jan 20, 2026
1f09045
b51: reducer from i64 -> u64
xrvdg Jan 20, 2026
419c8e2
b51 checkpoint: conversion from b52 to b51 (NON WORKING)
xrvdg Jan 21, 2026
6f11480
i2f: safe conversion
xrvdg Jan 21, 2026
68d6487
b51 checkpoint: working b51 multipliers
xrvdg Jan 21, 2026
df3ad67
b51: working montgomery multiplier
xrvdg Jan 21, 2026
c0fdd6a
b51: optimise carry handling
xrvdg Jan 21, 2026
805894c
b51: further optimise redundant carry
xrvdg Jan 22, 2026
d45f87e
b51: optimise redundant carry for s
xrvdg Jan 22, 2026
55829ba
b51: optimise carry for addi
xrvdg Jan 22, 2026
0fb170a
b51: optimises carries on t and r
xrvdg Jan 22, 2026
08a055b
b51: aggregrate anchor subtractions
xrvdg Jan 22, 2026
d97fe87
b51: sqr reduce number of multiplications
xrvdg Jan 22, 2026
7a53b63
b51: sqr reduce additions
xrvdg Jan 23, 2026
6130724
kani: silence unexpected_cfg
xrvdg Jan 23, 2026
c1161ff
block multiplier: reorganizing
xrvdg Jan 23, 2026
fabda22
block-multiplier: rne organisation
xrvdg Jan 23, 2026
d1479f7
block-multiplier: rtz organisation
xrvdg Jan 23, 2026
ebc5d78
block-multiplier -> bn254-multiplier
xrvdg Jan 23, 2026
586d897
b51: inline multimul, fix kani paths, make i2f generic
xrvdg Jan 26, 2026
fee0d5e
b51: documentation
xrvdg Jan 26, 2026
70c18ff
b51: i2f kani
xrvdg Jan 26, 2026
62f391d
fixup! b51: i2f kani
xrvdg Jan 26, 2026
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
7 changes: 7 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# This enables KaTex in docs, but requires running `cargo doc --no-deps`.
[build]
rustdocflags = "--html-in-header .cargo/katex-header.html"

[target.wasm32-wasip2]
rustflags = ["-C", "target-feature=+simd128,+relaxed-simd"]

[target.wasm32-wasip1]
runner = "wasmtime run --dir . "
rustflags = ["-C", "target-feature=+simd128,+relaxed-simd"]
4 changes: 4 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Replace divan with codspeed-divan-compat
run: |
sed -i 's/^divan = .*/divan = { package = "codspeed-divan-compat", version = "3.0.1" }/' Cargo.toml

- name: Setup Rust toolchain, cache and cargo-codspeed binary
uses: moonrepo/setup-rust@v1
with:
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ Cargo.lock
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
circuit_stats_examples/
circuit_stats_examples/
15 changes: 10 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ resolver = "2"
members = [
"skyscraper/fp-rounding",
"skyscraper/hla",
"skyscraper/block-multiplier",
"skyscraper/block-multiplier-codegen",
"skyscraper/bn254-multiplier",
"skyscraper/bn254-multiplier-codegen",
"skyscraper/core",
"provekit/common",
"provekit/r1cs-compiler",
Expand Down Expand Up @@ -40,6 +40,9 @@ license = "MIT"
homepage = "https://github.com/worldfnd/ProveKit"
repository = "https://github.com/worldfnd/ProveKit"

[workspace.lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(kani)'] }

[workspace.lints.clippy]
cargo = "warn"
perf = "warn"
Expand Down Expand Up @@ -70,8 +73,8 @@ opt-level = 3

[workspace.dependencies]
# Workspace members - Skyscraper
block-multiplier = { path = "skyscraper/block-multiplier" }
block-multiplier-codegen = { path = "skyscraper/block-multiplier-codegen" }
bn254-multiplier = { path = "skyscraper/bn254-multiplier" }
bn254-multiplier-codegen = { path = "skyscraper/bn254-multiplier-codegen" }
fp-rounding = { path = "skyscraper/fp-rounding" }
hla = { path = "skyscraper/hla" }
skyscraper = { path = "skyscraper/core" }
Expand All @@ -94,7 +97,9 @@ axum = "0.8.4"
base64 = "0.22.1"
bytes = "1.10.1"
chrono = "0.4.41"
divan = { package = "codspeed-divan-compat", version = "3.0.1" }
# On CI divan get replaced by divan = { package = "codspeed-divan-compat", version = "3.0.1" } for benchmark tracking.
# This is a workaround because different package selection based on target does not mix well with workspace dependencies.
divan = "0.1.21"
hex = "0.4.3"
itertools = "0.14.0"
paste = "1.0.15"
Expand Down
217 changes: 0 additions & 217 deletions skyscraper/block-multiplier/benches/bench.rs

This file was deleted.

8 changes: 0 additions & 8 deletions skyscraper/block-multiplier/proptest-regressions/scalar.txt

This file was deleted.

Loading
Loading