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

Souper-CROW improvements #68

Open
4 of 9 tasks
Jacarte opened this issue Sep 10, 2020 · 2 comments
Open
4 of 9 tasks

Souper-CROW improvements #68

Jacarte opened this issue Sep 10, 2020 · 2 comments

Comments

@Jacarte
Copy link
Collaborator

Jacarte commented Sep 10, 2020

The communication between Souper and CROW can be improved.

DONE in #67:

  • Souper

    • Parallel processing of code blocks
    • Peer2Peer socket communication with CROW if a replacement is found.
    • Remove the Redis middle bridge to collect the replacements
  • CROW

    • Peer2Peer socket communication with Souper to collect the replacements on the fly (as soon as it is found)

TODO:

  • Merge the Exploration and Generation stages. Start the generation as soon as replacements are found.
  • Prevent overlapping
  • Modify Souper to avoid non-valid WASM instruction during the synthesis
  • Sanitize replacements
  • Extra validation stage
@Jacarte
Copy link
Collaborator Author

Jacarte commented Sep 10, 2020

For muladd, with one minute for the exploration stage, CROW finds a total number of (15 + 23 + 9 + 6 + 12 + 5) valid replacements, for a tentative number of 2096640 variants. With one minute in the generation stage (34 programs generated every second), CROW builds 2081 variants, 9 unique for muladd in less than 1 minute!

@monperrus
Copy link
Collaborator

monperrus commented Sep 10, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

2 participants