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

Fix bug in chiplet bus #1516

Merged
merged 2 commits into from
Oct 1, 2024
Merged

Fix bug in chiplet bus #1516

merged 2 commits into from
Oct 1, 2024

Conversation

Al-Kindi-0
Copy link
Collaborator

Describe your changes

Fixes a couple of bugs in the auxiliary column for the chiplet's bus.

Checklist before requesting a review

  • Repo forked and branch created from next according to naming convention.
  • Commit messages and codestyle follow conventions.
  • Relevant issues are linked in the PR description.
  • Tests added for new functionality.
  • Documentation/comments updated according to changes.

Comment on lines 258 to 261
OPCODE_JOIN | OPCODE_SPLIT | OPCODE_LOOP | OPCODE_CALL => {
build_control_block_request(main_trace, op_code_felt, alphas, row)
},
OPCODE_DYN => build_dyn_block_request(main_trace, alphas, row),
Copy link
Contributor

Choose a reason for hiding this comment

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

As discussed offline, I think the handling of the DYN operation here was correct. Which means there is a bug somewhere else - probably here where we shouldn't be putting dyn_hash into decoder registers (or at least that would be consistent with the current docs).

Copy link
Contributor

Choose a reason for hiding this comment

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

Pushed a commit that fixes this as explained here. Basically DYN emits a request to hash [ZERO; 8] using the DYN domain, which is verified on END. The block hash table is responsible for ensuring that the correct hash is being executed: the callee hash is pushed on the table on DYN, and removed on the appropriate END (when the callee terminates).

Copy link
Contributor

Choose a reason for hiding this comment

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

It seems like DYN could not issue any hash request, and also not have an associated END, since we're only hashing dummy values? So DYN would still populate the block hash table, but have no other effect on the trace.

Copy link
Contributor

Choose a reason for hiding this comment

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

It seems like DYN could not issue any hash request, and also not have an associated END, since we're only hashing dummy values? So DYN would still populate the block hash table, but have no other effect on the trace.

Yeah - I think that's correct.

Copy link
Contributor

@plafer plafer left a comment

Choose a reason for hiding this comment

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

LGTM! Thank you for fixing this!!

Also pushed a commit fixing how DYN works, make sure to double check that.

@Al-Kindi-0 Al-Kindi-0 force-pushed the al-fix-bug-chiplet-bus branch 2 times, most recently from 7498350 to 9073401 Compare October 1, 2024 12:24
Copy link
Contributor

@bobbinth bobbinth left a comment

Choose a reason for hiding this comment

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

Looks good! Thank you!

@bobbinth bobbinth merged commit 5085999 into next Oct 1, 2024
9 checks passed
@bobbinth bobbinth deleted the al-fix-bug-chiplet-bus branch October 1, 2024 21:13
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