lava-optimization icon indicating copy to clipboard operation
lava-optimization copied to clipboard

Multi-backend Parallel execution mode of the OptimizationSolver

Open GaboFGuerra opened this issue 2 years ago • 0 comments

User Story

As a user of the OptimizationSolver I want the Optimization solver with many parallel configurations running simultaneously to get higher solution probability and a lower time to solution on both Loihi2 and CPU backends.

Conditions of satisfaction

  • User can explicitly invoke the number of parallel copies of the solver network in SolverConfig.
  • At runtime, the network state is read from the network with the best cost.
  • The user can give the solver a set of hyperparameters in SolverConfig which parameterize each copy of the network solver.

Acceptance Tests

For Loihi2 and CPU backends

  • Number of parallel copies of the network in SolverConfig results in an equivalent number of SNN + CostIntegrator copies on the SolverProcess and SolverModel.
  • ReadGate's RefPorts for solution readout and spike counters for cost reading are equal the number of copies of the network.
  • Solver network and solution readout processes are correctly connected.
  • The input set of hyperparameters are correctly propagated and distributed into the solver network copies.
  • At runtime, the network state is read from the network with the best cost.

Tasks

  • [x] Solve issue #170
  • [ ] Solve issue #171

Lava version:

  • [x] 0.3.0 (feature release)

I'm submitting a ...

  • [x] feature request

Other information:

insert the output from lava debug here

GaboFGuerra avatar Jan 17 '23 10:01 GaboFGuerra