Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
e426c34
Add domain types for Algorithm 6 sumcheck optimization
wu-s-john Dec 18, 2025
d0f8eed
Add Lagrange domain extension for multilinear polynomials
wu-s-john Dec 18, 2025
e6d738f
Add accumulator data structures for Langrange Interpolation Based
wu-s-john Dec 18, 2025
8f7c456
Add const generic D to domain types for compile-time type safety
wu-s-john Dec 18, 2025
d23b654
Add index mapping for Algorithm 6 sumcheck optimization (Definition A.5)
wu-s-john Dec 18, 2025
e4444fd
Add suffix eq-polynomial pyramid for Algorithm 6 sumcheck optimization
wu-s-john Dec 18, 2025
b0908d7
Add gather_prefix_evals and UdTuple::from_binary for Algorithm 6
wu-s-john Dec 18, 2025
c7841ac
Implement Procedure 9 accumulator builder and add tests
wu-s-john Dec 18, 2025
7b32a0c
Add bit-ordering sanity tests for eq, gather, and binding
wu-s-john Dec 18, 2025
006fb04
Add Lagrange tensor evaluation helper and tests
wu-s-john Dec 19, 2025
6465006
Add eq round factor helper and tests
wu-s-john Dec 20, 2025
d9c75df
Fix clippy warnings in accumulator and Lagrange loops
wu-s-john Dec 20, 2025
cc373c1
Implement Lagrange sum-check round helpers
wu-s-john Dec 20, 2025
f8d5308
Add small-value sumcheck round harness and parity test
wu-s-john Dec 20, 2025
312bea3
Improve small-value accumulators: use quadratic t_i and speed up
wu-s-john Dec 21, 2025
93ee149
Add generic Csr<T> data structure and refactor accumulator cache
wu-s-john Dec 21, 2025
1a81943
Add SmallValueSumCheck::from_accumulators factory method
wu-s-john Dec 21, 2025
16ddb2b
Implement small-value sumcheck optimization (Algorithm 6)
wu-s-john Dec 21, 2025
950cca8
Add ping-pong buffer reuse to Lagrange extension: reduce allocations in
wu-s-john Dec 21, 2025
03b5293
Split build_accumulators: add Spartan-optimized and generic Procedure 9
wu-s-john Dec 21, 2025
1ed71a3
Add SHA256 circuit example to verify sumcheck method equivalence
wu-s-john Dec 21, 2025
67674c4
Add SmallValueField trait with Barrett-optimized sl multiplication
wu-s-john Dec 23, 2025
f6af2b4
Add type-safe UdEvaluations and UdHatEvaluations wrappers for domain
wu-s-john Dec 23, 2025
bccca73
Remove dead code and move test-only helpers to #[cfg(test)]
wu-s-john Dec 23, 2025
d050cf4
Eliminate per-iteration allocations in accumulator building
wu-s-john Dec 23, 2025
7e69518
Extract SpartanAccumulatorInputPolynomial trait to dedicated module
wu-s-john Dec 23, 2025
9611590
Remove dead code and simplify APIs
wu-s-john Dec 24, 2025
2bb44a0
Improve code readability: add clarifying comments and reduce duplication
wu-s-john Dec 24, 2025
44b442c
Fix formatting issues
wu-s-john Jan 6, 2026
c3f2268
Fix 33 clippy errors and typos checker warnings, all in test modules.
wu-s-john Jan 6, 2026
5bf9901
Implement delayed modular reduction for small-value sumcheck
wu-s-john Jan 8, 2026
af031c4
Optimize hot paths: fused MAC, single reduction, JIT eq tables
wu-s-john Jan 8, 2026
bd0d913
Refactor sumcheck_sweep to use clap CLI instead of env vars
wu-s-john Jan 8, 2026
074fcac
Optimize unreduced_mont_int_mul_add: use overflowing_add for carry
wu-s-john Jan 8, 2026
e434257
Fix formatting and clippy warnings
wu-s-john Jan 8, 2026
88ba34b
Added clap cli command
wu-s-john Jan 8, 2026
26cb450
Add small-value compatible SHA-256 circuit gadgets
wu-s-john Jan 7, 2026
bd8abf9
Add SHA-256 chain benchmark with CSV output
wu-s-john Jan 9, 2026
9325068
Refactor small-value traits and deduplicate reduction functions
wu-s-john Jan 9, 2026
4cd9b9b
Reorganize small_field module and relocate batching types to gadgets
wu-s-john Jan 9, 2026
406b59e
Improve accumulator helpers: dedupe eq-table prep and scatter beta
wu-s-john Jan 9, 2026
997556f
Refactor sub_mag to return SubMagResult enum instead of tuple
wu-s-john Jan 9, 2026
c90062d
Consolidate limb operations into small_field/limbs module
wu-s-john Jan 9, 2026
23ba9be
Reorganize Lagrange code into lagrange_accumulator/ module
wu-s-john Jan 9, 2026
eb33792
Reorganize small_field module and relocate batching types to gadgets
wu-s-john Jan 9, 2026
4b85d84
Fix clippy lints in lagrange_accumulator: add Default and is_empty impls
wu-s-john Jan 9, 2026
391fb50
Optimize accumulator builder: minimize Montgomery reductions in scatter
wu-s-john Jan 9, 2026
cc41fcb
Optimize eq table split: balance e_in and e_xout for ~33% precomputation
wu-s-john Jan 9, 2026
2a980b8
Optimize benchmark memory: scope polynomial lifetimes to free memory
wu-s-john Jan 17, 2026
6e73f98
Add BN254 curve support with small-value field optimizations
wu-s-john Jan 18, 2026
5bed106
Expand sumcheck_sweep benchmark: multi-field support and CLI options
wu-s-john Jan 18, 2026
6166bd8
Reuse beta_values buffer in accumulator builder to reduce allocations
wu-s-john Jan 18, 2026
c14e69d
Reduce allocations in small-value sumcheck: pre-allocate vectors and use
wu-s-john Jan 18, 2026
3685c61
Optimize small-value sumcheck binding: combine A/B/C in single pass
wu-s-john Jan 18, 2026
9e8d1dc
Add delayed reduction for eq sumcheck remaining rounds
wu-s-john Jan 18, 2026
2cc6af0
Add ILP batch-4 optimization to Lagrange extension
wu-s-john Jan 18, 2026
9adb677
Add split-eq-dmr benchmark: isolate delayed modular reduction impact
wu-s-john Jan 19, 2026
c4e5d8c
Add compile-time DMR mode selection for accumulator building
wu-s-john Jan 19, 2026
115d1fd
Dedup SmallValueField: replace 5 concrete impls with 2 blanket impls
wu-s-john Jan 31, 2026
97a3474
Removed a lot of duplication for Barrett reduction
wu-s-john Jan 31, 2026
0436d34
Removed duplication in DelayedReduction
wu-s-john Jan 31, 2026
f0cd7d8
Add benchmark infrastructure: timing layer, sumcheck verification, and
wu-s-john Feb 1, 2026
3c45cb3
Simplify small-value sumcheck API: replace 6 poly args with 3 by
wu-s-john Feb 2, 2026
5661c71
Reduce i64 UnreducedFieldInt from SignedWideLimbs<8> to
wu-s-john Feb 2, 2026
da5f393
Add small-value Lagrange accumulator path for NeutronNova NIFS
wu-s-john Feb 2, 2026
f9911ef
Add NeutronNova NIFS benchmark for small-value vs large-value sumcheck
wu-s-john Feb 2, 2026
7f9b974
Add delayed modular reduction to NeutronNova NIFS (2.7x speedup)
wu-s-john Feb 2, 2026
efaf661
Eliminate Montgomery multiplications from NeutronNova scatter phase
wu-s-john Feb 3, 2026
f9a1335
Added some better timings
wu-s-john Feb 3, 2026
35c8157
Refactor DelayedReduction API for clearer method semantics
wu-s-john Feb 3, 2026
230dd1a
Fuse eq tables into precomputed eq_cache for scatter loop optimization
wu-s-john Feb 3, 2026
5ef69b0
Precompute e_in as raw limbs to eliminate from_mont in DMR inner loop
wu-s-john Feb 3, 2026
efb816b
Parallelize layers_to_small field-to-i64 conversion
wu-s-john Feb 3, 2026
2a506dc
Split NeutronNova NIFS prove into separate field and small-value paths
wu-s-john Feb 3, 2026
970c8f7
Move sha256_circuits and timing modules from examples/ to src/
wu-s-john Feb 3, 2026
b5bc92a
Fix clippy warnings
wu-s-john Feb 3, 2026
d64c1a1
Remove DelayedModularReductionMode and MatVecMLE abstractions
wu-s-john Feb 4, 2026
ed5e49c
Refactor small_field module and remove dead code
wu-s-john Feb 4, 2026
4538407
Add multiply_vec_small to SparseMatrix with delayed reduction
wu-s-john Feb 4, 2026
6dbe410
Add small-value optimized folding for NeutronNova NIFS
wu-s-john Feb 4, 2026
8208bbf
Refactor SpartanSNARK prove into separate field and small-value paths
wu-s-john Feb 4, 2026
193b6a1
Wrap negative value
wu-s-john Feb 4, 2026
afd5bfd
Add Lagrange extension bound checking for small values
wu-s-john Feb 5, 2026
d3e1925
Simplify SmallValueField by removing IntermediateSmallValue
wu-s-john Feb 5, 2026
d689a2f
Simplify DelayedReduction trait and improve documentation
wu-s-john Feb 5, 2026
ade4eee
Simplify trait bounds and make NeutronNova generic over small value type
wu-s-john Feb 5, 2026
46ac387
Add equivalence tests for small-value vs regular proving paths
wu-s-john Feb 5, 2026
dafae80
Extract small-value sumcheck into src/small_sumcheck.rs
wu-s-john Feb 5, 2026
e1fb3e9
Decouple small_field traits for better reuse and clarity
wu-s-john Feb 5, 2026
8d4fd0e
Refactor sumcheck_sweep: simplify benchmark trait with standalone run
wu-s-john Feb 5, 2026
456ce6f
Refactor sha256_chain_benchmark: add timed() helper and cleanup
wu-s-john Feb 5, 2026
92c688f
Refactor benchmark timing and CLI infrastructure
wu-s-john Feb 6, 2026
ace4c0e
Move SHA-256 sumcheck equivalence test from example to unit test
wu-s-john Feb 6, 2026
b4c2b24
Added NeutronNova ZK Prove
wu-s-john Feb 6, 2026
6c6073c
Add ExtensionBound struct and make small-value functions generic over SV
wu-s-john Feb 6, 2026
f0f26df
Refactor Lagrange extension and remove unused generic accumulator
wu-s-john Feb 6, 2026
0ed9053
Improve encapsulation and fix stale comments in lagrange_accumulator
wu-s-john Feb 6, 2026
b25815d
Make default field parameter bn254
wu-s-john Feb 6, 2026
fbbc9c0
Transpose eq_cache layout for cache-friendly parallel access
wu-s-john Feb 6, 2026
f614127
Made timings more accurate for witness generation and commitment
wu-s-john Feb 6, 2026
15b7dd8
Harden error handling and add safety documentation
wu-s-john Feb 7, 2026
7593245
Added equivalent tests for NeutronNova
wu-s-john Feb 7, 2026
fd801a9
Fixed compiler errors
wu-s-john Feb 8, 2026
3dfcb3c
Made Montgomery Reduction much faster
wu-s-john Feb 10, 2026
2314cdb
extra speedup by creating my own modular reduction
wu-s-john Feb 10, 2026
dd831a7
stuff
wu-s-john Feb 10, 2026
c2b3507
Better barrett reduction
wu-s-john Feb 10, 2026
1cfa53f
Pasta specific optimizations
wu-s-john Feb 10, 2026
1a5cbed
Apply delayed modular reduction to NeutronNova outer sumcheck
wu-s-john Feb 22, 2026
248d6eb
Added delayed modular reduction to Spartan's inner sumcheck
wu-s-john Feb 22, 2026
f0e7b02
Formatting
wu-s-john Feb 27, 2026
ea9e279
Optimizing the hell out of the code
wu-s-john Feb 27, 2026
7634f19
Building optimizations NeutronNova accumulator
wu-s-john Feb 27, 2026
b5b553d
Improved NeutronNova SHA256
wu-s-john Mar 2, 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
6 changes: 4 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ bellpepper = "0.4.0"
ff = { version = "0.13.0", features = ["derive"] }
digest = "0.10"
sha3 = "0.10"
sha2 = "0.10"
rayon = "1.10.0"
rand_core = { version = "0.6", default-features = false, features = ["getrandom"] }
itertools = "0.14.0"
Expand All @@ -36,6 +37,7 @@ once_cell = "1.18.0"
tracing = "0.1"
tracing-subscriber = { version = "0.3.18", features = ["env-filter", "time"] }
tikv-jemallocator = { version = "0.6.0", optional = true }
clap = { version = "4", features = ["derive"] }

[target.wasm32-unknown-unknown.dependencies]
# see https://github.com/rust-random/rand/pull/948
Expand All @@ -50,12 +52,12 @@ proptest = "1.2.0"


[features]
default = ["halo2curves/asm"]
default = []
jem = ["tikv-jemallocator"]

[profile.release]
debug = 1
lto = "fat"

[target.'cfg(target_arch = "x86_64")'.dependencies]
halo2curves = { version = "0.9.0", features = ["derive_serde", "std", "asm"] }
Loading