lava-optimization
lava-optimization copied to clipboard
Run OptimizationSolver with controlled core utilization.
User Story
As a user of the OptimizationSolver I want to set the number of neurons per core to control for fluctuations in time per timestep during benchmarking of the solver's time to solution.
Conditions of Satisfaction
- As a user I can set the number of neurons per core in the SolverConfig
- The neurons per core in SolverConfig forces the compiler to use it as constraint when computing resources allocation.
Acceptance Tests
- When the user sets number of neurons in SolverConfig, the capacity constraints of the Compiler get modified accordingly.
- When running the network, the number of neurons per core does not exceed that set by the user in SolverConfig.
I have a feeling that this is not as straightforward as changing one variable in the LOIHI.db file. The configuration limits the number of neurons and number of cx_states per core along with other things. For small problems this might naively work but when we really start pushing the limits this might lead to weird errors. This might require some kind of small intermediate adapter. This probably belongs to core lava than to lava-opt. There of course needs to be an API change in the lava-opt solver to account for this.