Quantum4HEP / QUnfold

Quantum Annealing for distribution unfolding in experimental High-Energy Physics
MIT License
23 stars 3 forks source link

Dask implementation for distributed computation #20

Open DrWatt opened 6 days ago

DrWatt commented 6 days ago

The idea of using distributed computing to tackle the simulated annealing task has come up.

A first test using Dask is being worked on, the first results will come in shortly, but working on that it becomes evident that some work should be done directly on the library to make it more compliant with this kind of implementation.

SimoneGasperini commented 6 days ago

Yes, I think that to get an actual performance benefit from a distributed (Dask-based) version of Simulated Annealing, we need to think about a custom implementation of the algorithm instead of using the SimulatedAnnealingSampler by D-Wave, which is not meant to run in a distributed setting.

SimoneGasperini commented 4 days ago

An easier short-term approach would be instead to implement the parallelization of the SA algorithm at the sampler reads level.

Suppose for example the problem requires you to run the SimulatedAnnealingSampler with num_reads=1000 (the number of reads is simply the number of times you execute the whole global optimization algorithm). Each read is starting from exactly the same BinaryQuadraticModel and it is completely independent from any other read. So, if you have for instance 10 worker nodes available in your distributed computation setting, you can run in parallel just 100 reads per node getting roughly a 10x speedup compared to a single-node execution.