-
Notifications
You must be signed in to change notification settings - Fork 0
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
notes from weekend thinking about java 21, Sojourn, babel, graal, #2
Comments
Z3 online: https://jfmc.github.io/z3-play/ their arithmatic example:
which crashes the solver! also division example:
I've included these here to remind myself just how simple an SMTLIB converter should be |
Im looking for "Nonlinear real Arithmatic" (*NRA). math with "mixed" integers and reals is called "mixed" or "IR" => NIRA or NRIA "QF" is "quantifier free" and is fine as long as we can unroll sum & prod loops looking at QFNRIA and QFNRA, Im not sure if "uninterpreted functions" would be useful in our modelling. My gut says it would, but i havent worked throught he logic yet. |
some general points:
-> also, in cloud world, we get one beefy GPU machine and run there
regarding constraint solvers, 2023 competition just closed: https://smt-comp.github.io/2023/results.html
so the work that needs to be done:
you need a converter to SMTlib2. I think the best approach here is a simple visitor on our existing babel nodes. This makes it hard to avoid exposing ANTLR. But so what?
once you have an SMTLIB2 converter, it needs to be wired to Z3 and/or CVC2 and/or bitwulza
I want more performance, and I think I initially want to skip anything scary. Write an ANTLR visitor that encodes to a
long[]
instruction sequence. Dont think too hard about a formal IR, just make it go fast.from there, it should also be ~simple to write a Vector-API evaluator.
more performance: use truffle, either with the truffle APi directly, or generate LLVM-IR and hand that over.
regarding torandoVM, if your on GRAAL it should be pretty straightforward. In this way you probably dont want to be in-process, instead using GRPC.
The text was updated successfully, but these errors were encountered: