Source-linked AI summary
Omnisolver: An extensible interface to Ising spin-glass and QUBO solvers: adding a distributed GPU brute-force plugin
Konrad Jałowiecki, Jakub Pawłowski, Bartłomiej Gardas, Łukasz Pawela
TL;DR
Omnisolver provides certified lowest-energy QUBO/Ising solutions for benchmarking approximate methods and assessing quantum-runtime-advantage claims. This update adds a distributed GPU brute-force plugin and stabilizes its fast ground-state path; exhaustive ground states are certified up to N = 60 on 8× H100 GPUs.
Problem
Certified lowest-energy QUBO/Ising solutions are needed to benchmark approximate methods, verify NISQ-oriented workflows, and assess claims of quantum runtime advantage.
Source: §1 · pp. 2–3Method
The update packages a single-GPU exhaustive solver as an Omnisolver plugin, adds Ray-based fixed-variable distributed search, and stabilizes the fast ground-state path.
Source: §1 · pp. 2–4Results
Exhaustive ground states were certified up to N = 60 on 8× H100 GPUs, empirically confirming the t_{N+1} = 2 t_N doubling rule across the measured range.
Source: §3 · p. 8Takeaways & Limitations
The plugin is intended as a verification and certification backend that provides ground-truth optima for benchmarking heuristics, annealers, and NISQ-era quantum approaches.
Source: §1 · pp. 2, 6Exhaustive enumeration remains O(2^N) regardless of GPU count or precision, so the plugin is not intended as a routine optimizer for application-scale problems.
Source: §1 · p. 6
Abstract
from arXiv · showhide
This software update extends Omnisolver with \texttt{omnisolver-bruteforce}, a first-class plugin for exact exhaustive search of QUBO and Ising instances on CUDA-enabled GPUs. The update contributes three components: packaging of the single-GPU brute-force kernel of [Computer Physics Communications 260, 107728, 2021] as a first-class Omnisolver plugin with a uniform Python and CLI interface, a Ray-based distributed framework that splits the search into $2^{k}$ fixed-variable subproblems and dispatches them across multiple GPUs and hosts, with a controller that gathers and merges partial results, and numerical stabilization of the fast \texttt{float32} ground-state path through compensated incremental updates, periodic exact energy re-anchoring, and best-buffer refresh. Stabilization activates automatically for $N \geq 40$ leaving the public sampler API is unchanged. On dense random Ising instances we measure exhaustive solve times up to $N=60$ on $8\times$ NVIDIA H100 (96 GB) GPUs, reaching $\approx\!3.15$ days at $N=60$ in close agreement with the empirical $t_{N+1}=2\,t_N$ doubling rule, with the distributed sampler reaching the full $\approx\!8\times$ speedup over a single H100 from $N\!\gtrsim\!44$ onwards. The plugin thereby serves as a practical ground-truth oracle for state-of-the-art classical heuristics such as the Simulated Bifurcation Machine.
Refers to
The cited work is K. Jałowiecki and Ł. Pawela’s 2023 paper on Omnisolver.
Refers to
- The reference is K. Jałowiecki and Ł. Pawela, “Omnisolver: An extensible interface to Ising spin– glass and QUBO solvers,” SoftwareX 24, 101559 (2023).DOI: https:// doi.org/10.1016/j.softx.2023.101559.Source: Refers to · p. 2
Metadata
Table 1 is labeled “Code metadata.”
Metadata
- Table 1 is identified as code metadata.No metadata values are present in the supplied passage.Source: Table 1 · p. 2
1. Description of the software update
The update makes the prior single-GPU exhaustive solver a first-class Omnisolver plugin, adds Ray-based multi-GPU decomposition, and stabilizes its fast float32 ground-state path. It is intended as a ground-truth verification backend, with measured distributed runs reaching N=60 on eight H100 GPUs.
Purpose of an exhaustive solver in Omnisolver
- Certified lowest-energy QUBO/Ising solutions provide ground truth for benchmarking heuristics and verifying NISQ workflows, including optimality-gap studies.Recent quantum runtime-advantage and quantum-classical scaling comparisons used the Simulated Bifurcation Machine [10] as a classical heuristic benchmark.Source: §1 · pp. 2–3
Architecture
- Ray fixes k variables, solves 2^k independent N−k GPU subproblems, then merges partial solutions on the controller.The distributed sampler uses fixed-variable decomposition across multiple GPUs or hosts.Source: §1 · pp. 3–4
Description of the software update
- The plugin packages the stand-alone single-GPU solver behind Omnisolver’s uniform Python/CLI interface, returning dimod.SampleSet with runtime metadata.Omnisolver is integrated with dimod.Source: §1 · pp. 2–3
- Compensated updates, periodic exact energy re-anchoring, and best-buffer refresh eliminate observed float32 drift for N ≥40 in num_states=1 mode without changing the API.Stabilization activates automatically.Source: §1 · p. 4
Performance
- ≈272,300 s (≈3.15 days) at N=60 on eight H100 GPUs; distributed execution reaches ≈8× speedup from N ≳44.The N=60 time is within 0.3% of the doubling-rule extrapolation from N=58.Source: §1 · p. 4, Figure 1 · p. 5
Scaling outlook on larger allocations
- At 216 GPUs, the projection reduces N=60 to ≈33 s and N=64 to ≈9 min, but controller and scheduling costs bound scaling.The same projection places the one-month exhaustive-search limit at N ≲76.Source: §1 · p. 5
Precision of the reported energies
- At N=56, 58, and 60, brute-force and SBM configurations are bit-identical, and recomputed energies agree within 6 × 10−6.For these instances, recomputed brute-force energies differ from reported energies by less than 4 × 10−6; GPU tests also cross-check against fromscratch recomputation and dimod.ExactSolver on tractable instances.Source: §1 · pp. 4, 6
Limitations and intended scope
- Enumeration remains O(2^N), the 64-bit spin index caps supported sizes at N ≤64, and runtimes beyond N=60 are extrapolations.Absolute timings also depend on the hardware and software stack.Source: §1 · p. 6
2. Illustrative example
The example shows how to use the plugin from Python and how to launch its distributed benchmark across two Ray nodes.
2. Illustrative example
- The plugin is available on PyPI for stand-alone use or through the Omnisolver CLI as the bruteforce-gpu solver.The repository includes documentation and the benchmark script used to produce Fig. 1.Source: §2 · p. 7
- The minimal example imports the distributed sampler, reads instance.txt, and configures a distributed brute-force run.The listing also prints the first result's energy and solve time.Source: §2 · p. 7
- The benchmark setup starts Ray on a two-node cluster with four GPUs per node, then runs a sweep that reproduces Fig. 1.The supplied commands start the head and worker nodes and run the benchmark sweep from the repository root.Source: §2 · p. 7
3. Conclusions and outlook
The update adds a first-class CUDA brute-force plugin, Ray-based distributed execution, and stabilization of the fast ground-state path without changing the public sampler API. It certifies dense random Ising ground states up to N = 60 on 8× H100 GPUs and reports next steps for configurability, scaling, and reproducibility.
3. Conclusions and outlook
- Dense random Ising ground states are certified up to N = 60 on 8× H100 GPUs, with the measured runtimes following the tN+1 = 2 tN doubling rule.Source: §3 · p. 8
- The update promotes the CUDA kernel to an Omnisolver plugin, adds Ray-based multi-GPU execution, and resolves fast-path float32 stability without changing the public sampler API.Source: §3 · p. 8
- The proposed next steps are user-tunable stabilization settings, hierarchical controller-side reduction, and a versioned reproducibility capsule.The capsule would include fixed seeds, hardware descriptors, and command presets.Source: §3 · p. 8