Skip to content

Comments

RISCV Constraint Optimizations#76

Merged
nicarq merged 29 commits intomainfrom
nico/constraint_bench_improv
Feb 18, 2026
Merged

RISCV Constraint Optimizations#76
nicarq merged 29 commits intomainfrom
nico/constraint_bench_improv

Conversation

@nicarq
Copy link
Contributor

@nicarq nicarq commented Feb 2, 2026

No description provided.

Signed-off-by: Nico Arqueros <nico@dcspark.io>
(37% less constraints)

Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
@nicarq nicarq changed the title RISCV Constraint Optimizations RISCV Constraint Optimizations [WIP] Feb 2, 2026
nicarq and others added 25 commits February 2, 2026 19:10
Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
…tream/Nightstream into nico/constraint_bench_improv

Signed-off-by: Nico Arqueros <nico@dcspark.io>

# Conflicts:
#	crates/neo-fold/src/riscv_shard.rs
#	crates/neo-memory/src/riscv/ccs.rs
#	crates/neo-memory/tests/riscv_ccs_tests.rs
Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
perf(reductions): speed up RLC mix and row-phase oracle hot paths" -m "
- avoid cloned witness matrices in optimized RLC path by adding borrowed-matrix commit-mix reducer
- parallelize Z-mix row accumulation and sparse transpose accumulation on native threaded targets
- improve cache locality by using row-slice access in oracle/common hot loops
- add degree-tracked affine polynomial expansion to skip zero-work tails
- wire fold shard path to optimized borrowed RLC reducer (keep paper-exact path behavior)

Perf (release microbench):
- RLC mix: 1.787ms -> 0.864ms (2.07x)
- digits table build: 6.011ms -> 4.991ms (1.21x)
- y_eval precompute: 48.699ms -> 12.387ms (3.93x)
- affine poly expansion: 6.878ms -> 1.117ms (6.16x)

Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
…edundant tests

Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
…de CCS regression

Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
…/cycle

Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
- enforce branch shout operand linkage in W2:
  - bind `shout_lhs` to `rs1_val` on branch rows
  - bind `shout_rhs` to `rs2_val` on branch rows
- bump `W2_FIELDS_RESIDUAL_COUNT` from 68 to 69 to match residual packing
- keep prover/verifier residual aggregation aligned after the new branch residual
- refresh perf report with 2026-02-16 post-hardening W3 checkpoint numbers

Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
perf(trace): batch decode/width shout claims and  and prune unused width/decode bus lookups

Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
Signed-off-by: Nico Arqueros <nico@dcspark.io>
@nicarq nicarq changed the title RISCV Constraint Optimizations [WIP] RISCV Constraint Optimizations Feb 18, 2026
Signed-off-by: Nico Arqueros <nico@dcspark.io>
@nicarq nicarq merged commit 52e946e into main Feb 18, 2026
4 checks passed
@nicarq nicarq deleted the nico/constraint_bench_improv branch February 18, 2026 02:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant