Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prover/Convert projection protocol to a query #585

Open
wants to merge 12 commits into
base: prover/limitless-top-level
Choose a base branch
from

Conversation

arijitdutta67
Copy link
Contributor

This PR converts the projection protocol to a query of the compiled IOP. This is a prerequisite for horizontal and vertical splitting for the limitless prover.

Checklist

  • I wrote new tests for my new core changes.
  • I have successfully ran tests, style checker and build against my new changes locally.
  • I have informed the team of any breaking changes if there are any.

@arijitdutta67 arijitdutta67 changed the title added projection query Prover/Convert projection protocol to a query Jan 21, 2025
@arijitdutta67 arijitdutta67 self-assigned this Jan 21, 2025
@codecov-commenter
Copy link

codecov-commenter commented Jan 21, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 68.46%. Comparing base (fb4ee00) to head (0617f34).

Additional details and impacted files
@@                       Coverage Diff                        @@
##             prover/limitless-top-level     #585      +/-   ##
================================================================
- Coverage                         68.49%   68.46%   -0.04%     
+ Complexity                         1130     1129       -1     
================================================================
  Files                               321      321              
  Lines                             12842    12842              
  Branches                           1287     1287              
================================================================
- Hits                               8796     8792       -4     
- Misses                             3506     3507       +1     
- Partials                            540      543       +3     
Flag Coverage Δ
hardhat 98.74% <ø> (ø)
kotlin 66.01% <ø> (-0.04%) ⬇️

see 3 files with indirect coverage changes

@arijitdutta67 arijitdutta67 marked this pull request as ready for review January 23, 2025 08:10
@arijitdutta67 arijitdutta67 temporarily deployed to docker-build-and-e2e January 23, 2025 10:42 — with GitHub Actions Inactive
prover/backend/execution/prove.go Outdated Show resolved Hide resolved
@@ -273,7 +273,7 @@ func (a *Alignment) csIsActive(comp *wizard.CompiledIOP) {
// csProjection ensures the data in the [Alignment.Data] column is the same as
// the data provided by the [Alignment.CircuitInput].
func (a *Alignment) csProjection(comp *wizard.CompiledIOP) {
projection.InsertProjection(comp, ifaces.QueryIDf("%v_PROJECTION", a.Name), []ifaces.Column{a.DataToCircuit}, []ifaces.Column{a.CircuitInput}, a.DataToCircuitMask, a.ActualCircuitInputMask)
projection.RegisterProjection(comp, ifaces.QueryIDf("%v_PROJECTION", a.Name), []ifaces.Column{a.DataToCircuit}, []ifaces.Column{a.CircuitInput}, a.DataToCircuitMask, a.ActualCircuitInputMask)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't that be a method of 'comp' now?

"github.com/consensys/linea-monorepo/prover/protocol/wizardutils"
)

func RegisterProjection(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Iiuc, this function does not do really anything on top of comp.InsertProverAction.

It would simplify the code if we removed it.

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.

3 participants