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

Split proof hint trace into multiple files #1147

Merged
merged 8 commits into from
Sep 19, 2024
Merged

Split proof hint trace into multiple files #1147

merged 8 commits into from
Sep 19, 2024

Conversation

theo25
Copy link
Collaborator

@theo25 theo25 commented Sep 17, 2024

This PR adds support for generating multiple hint trace files containing parts of the total trace. To this end, we add an optional --proof-chunk-size N flag to the interpreter binary. When the flag is passed and N is greater than 0, then the trace is separated into multiple files as follows:

  • an <output filename>.pre_trace file with the pre-trace events and the initial configuration.
  • a number of <output filename>.<idx> files that each contain N top-level rewrite rule events along with their corresponding side condition events and simplification events. If the interpreter binary has been generated with the slow option, then each of these files also contains configuration events after each rewrite event. Note that the last file may contain less than N events.

By default N equals to 0 and in this case, the trace is generated exactly as before.

This PR also adds support to the kore_proof_trace tool to be able to parse partial trace files. To achieve this, we introduce two more special headers (one for the pre-trace file and one for the chunk files) that allow the parser to recognize what kind of file it should expect.

@rv-jenkins rv-jenkins changed the base branch from master to develop September 17, 2024 00:43
Copy link
Collaborator

@Robertorosmaninho Robertorosmaninho 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 to me, but I wonder if we can and should expose this to Python bindings as well! what do you think?

include/kllvm/codegen/ProofEvent.h Outdated Show resolved Hide resolved
@rv-jenkins rv-jenkins merged commit f27fbd5 into develop Sep 19, 2024
10 checks passed
@rv-jenkins rv-jenkins deleted the split-hints branch September 19, 2024 18:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants