-
Notifications
You must be signed in to change notification settings - Fork 0
Split DWave solver to remove the python dependency. #5
Comments
As pointed in #7, there is still one problem with Python dependencies. On the other hand, python integration is very useful for many other annealing interfaces. Most cloud services, such as Braket, have greater support there. Keeping it here (if working) seems reasonable to me. |
I think it is still better to split, because there is pure julia code for annealers, and it will be a pain for an annealer developer to depend on python which is extremely heavy weight. |
example: https://github.com/lanl-ansi/QuantumAnnealing.jl we want this thing as a solver in the near future. and we don't want users to depend on python if they don't need to. |
This would require a rewrite of Simulated Annealing in Julia, right? Currently the code in Julia only corresponds to "trivial" solvers (random, all ones) |
The idea is to keep Anneal, minimal. Only with trivial solvers. |
BRKGA and the LANL projects seem very interesting! Gurobi and CPLEX performance is very similar (and not very exciting) when the NONCONVEX flag is enabled. I see your point, @joaquimg. Still, Python wrappers are the via regia when reaching remote quantum hosts and c/c++ libraries such as our current simulation. There is no significant overhead since there is usually just a thin layer for requests or c wrapping. We are definetely not going to use a python-powered solver. |
@joaquimg, as pointed out in #7, the Python integration seems stable and our CI runs are pretty happy. Still, the precompilation process is very heavy for such a simple package and I think it is a good moment to plan D-Wave's API splitting, using Anneal to provide the basic MOI interface connection. Basically, it is necessary to cover both QA and SA parameters. By now, we just cover the most important ones for SA. @bernalde, do you think it is a good idea to reach somebody at D-Wave to help us in this task? |
I think it would never hurt to ask. I will bring it up to some contacts soon but the easiest way is to raise an issue at https://github.com/dwavesystems/dimod and see where we end up from there. |
DWaveNeal.jl now lies on the registry pipeline (should be available by monday morning) and Anneal.jl v0.2.0 (already registered) has no Python dependencies at all 🥳 |
No description provided.
The text was updated successfully, but these errors were encountered: