lava-optimization
lava-optimization copied to clipboard
Multi-backend Parallel execution mode of the OptimizationSolver
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