Using GPUs And LLMs Can Be Satisfying for Nonlinear Real Arithmetic Problems
Organizations: RWTH Aachen University
Abstract
Solving quantifier-free non-linear real arithmetic (NRA) problems is a computationally hard task. To tackle this problem, prior work proposed a promising approach based on gradient descent. In this work, we extend their ideas and combine LLMs and GPU acceleration to obtain an efficient technique. We have implemented our findings in the novel SMT solver GANRA (GPU Accelerated solving of Nonlinear Real Arithmetic problems). We evaluate GANRA on two different NRA benchmarks and demonstrate significant improvements over the previous state of the art. In particular, on the Sturm-MBO benchmark, we can prove satisfiability for more than five times as many instances in less than 1/20th of the previous state-of-the-art runtime.
Figures & tables
| Z3 | CVC5 | ugotNL | NRAgo | GANRA (ours) | |||||
| seq. | manual | LLM | |||||||
| Kis. | SAT [ ] | 34 | 16 | 27 | 39 | 39 | 18 | 40 | 40 |
| avg. runtime [s] [ ] | 38.01 | - | - | 24.72 | 30.45 | - | 9.13 | 9.61 | |
| MBO | SAT [ ] | 1 | 0 | 10 | 6 | 10 | 57 | 57 | 38 |
| avg. runtime [s] [ ] | - | - | 139.08 | - | 333.62 | 6.39 | 14.86 | 35.92 | |
| Kissing | Sturm-MBO | |||||
|---|---|---|---|---|---|---|
| L2O version | GANRA | NRAgo | ugotNL | GANRA | NRAgo | ugotNL |
| SAT [ ] | 40 | 38 | 39 | 57 | 57 | 56 |
| avg. runtime [s] [ ] | 9.62 | 6.79 | 12.69 | 38.42 | 42.92 | 113.01 |
Appendix figures & tables1 asset
Supplementary material from the paper’s appendix.
Appendix
| Z3 | CVC5 | ugotNL | NRAgo | |||||
| Orig | Interval | Orig | Interval | Orig | Interval | Orig | Interval | |
| SAT [ ] | 1 | 0 | 0 | 0 | 10 | 9 | 6 | 2 |
Satisfiability Modulo Theories
Satisfiability modulo theories (SMT) checks whether logical formulas are satisfiable under theories such as arithmetic, strings, and bit-vectors.
See all 19 papersAccelerating the Mitigation of LLM Inference Nondeterminism Across GPU Architectures
Scaling Nonlinear Optimization: Many Problems One GPU
jaxipm, the first GPU-batched NLP solver, based on IPOPT, and implemented in JAX. We accomplish this by redesigning IPOPT's algorithm to eliminate control flow with heterogeneous iteration fusion, and by minimizing GPU idle time with iteration level batching. We evaluate jaxipm on a variety of quadrotor nonlinear model predictive control benchmarks, including reference tracking in the presence of obstacles, multi-quadrotor navigation without collision, and navigation in a cluttered environment. We demonstrate up to a increase in throughput over IPOPT. Our complete open-source codebase is available at https://github.com/johnviljoen/jaxipm.