-
Notifications
You must be signed in to change notification settings - Fork 143
Smtcomp 2021 #404
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
base: master
Are you sure you want to change the base?
Smtcomp 2021 #404
Conversation
👍 |
For the actual competition submission, where should this code land? I would suggest to create a separate branch in the main repository, or, as done for the cloud track, create a separate repository. (I would propose branch, as i only modify tooling around STP).I currently cannot check whether i have write permissions to the STP namespace. Otherwise, could somebody else create such a branch?I will rebase this branch to the current master, and would create a PR for that branch, so that we have the details for the submission.
|
@conp-solutions you're not currently on the STP "team", which means, even if I create a branch on the main STP repo, you won't be able to push to it. The quickest way for me to resolve this now is just to create a secondary repo and give you push access (as per your second suggestion). Would you be okay with that for now? |
Actually, I'd propose that we can of course add @conp-solutions to the STP team. Would that be okay with others? |
Yes, that works.For the dedicated branch: i could at least create the pull request, and when merging without merge commit, the git hash would stay the same.Just let me know what you prefer.
|
96509e1
to
df7e35f
Compare
This is the branch merged on top of the current origin/master. This is what I'd hand in to the competition. |
Yes! If Norbert would like to. |
That works for me. However, i unfortunately do not have much bandwidth to contribute other than the few bursts per year to adapt to competition configurations and related nits. If that is okay, feel free to add me.
|
Let's make sure we can test the solver locally via a file specified in the environment, as well as via a file in S3. Hence, add a script that can handle both cases and next calls the portfolio solver that is also used in starexec. While this case also covers the stdin case, the tooling is currently broken. Signed-off-by: Norbert Manthey <[email protected]>
For the starexec use case, we need to copy scripts as well. Hence, allow to copy scripts into container in general. Signed-off-by: Norbert Manthey <[email protected]>
Instead of directly starting the STP tool, we use a script that can handle input from different sources. Furthermore, instead of just running STP, we run the portfolio variant that is also used when submitting to startexec. Signed-off-by: Norbert Manthey <[email protected]>
For the SMT competition, we need to be able to access files from S3. Hence, add aws tools. Signed-off-by: Norbert Manthey <[email protected]>
As the portfolio also requires the MergeSat SAT solver, this change makes it available in the container. As installing MergeSat is very similar to installing MiniSat, only place the binary in $PATH. We do not need the other files that would be installed. Signed-off-by: Norbert Manthey <[email protected]>
Depending on the used architecture, the underlying hardware reports SMTs as actual cores. To avoid running solvers on SMT core siblings, only use every second CPU. Signed-off-by: Norbert Manthey <[email protected]>
Including Riss in the container for the portfolio is challenging. Hence, use another configuration of MergeSat instead, which is known to perform well on unsatisfiable formulas. Signed-off-by: Norbert Manthey <[email protected]>
Huge pages are known to be beneficial for tools like SAT solvers. As we do not run other things inside the container, enable them for all processes. Signed-off-by: Norbert Manthey <[email protected]>
For the production variant, we do not need debugging output. Hence, disabled it. As we might want to debug changes in the future, make re-enabling the debug output simple. Signed-off-by: Norbert Manthey <[email protected]>
df7e35f
to
f3f6251
Compare
Hey! This has not been merged yet. I invited you @conp-solutions to the team. You can accept and then merge :) |
This branch is a proposal for the parallel track of the SMT Comptition 2021 (See issue #399 )
The Dockerfile now
A few related scripts have been adapted as well.
Note
This change is not meant to be (fully) merged, but rather to aid the discussion for SMT comp.
Testing Done
The change has been tested with the following sequence of commands: