Closed Christian-B closed 5 months ago
I suggest the term min_application_cores
While working on https://github.com/SpiNNakerManchester/SpiNNFrontEndCommon/pull/1164 we discovered there are lots of different "system" vertices added in various different ways.
To keep things simple we decided to go keep the notion of a "monitor" core (as used in View.get_monitor_cores) These being the ones that are completely ApplicationGraph independent but not scamp cores.
So the sim.setup(n_cores_required) would exclude thing like the ChipPowerMonitor and then ExtraMonitorSupportMachineVertex
But must things like CommandSender and LivePacketGather
Done for virtual machines.
Spalloc does it automatically unless users want to access the boards before run/.
Most use cases there want to access specific chips so will do that if needed.
In Spin 1 we allocate board based on n_boards required.
Or possibly n_chips required t(which is semantic sugar for n_boards required.)
The Spin 2 will have different number of cores per Chip and Chips per board.
So the correct number is n_usable_cores.
Remembering that n_usable_cores is NOT the same as sum(chip.n_user_processors) as the second also includes things like ExtraMoinitorCores and ChipPowerMonitors