SpiNNakerManchester / SpiNNFrontEndCommon

Common support code for user-facing front end systems.
Apache License 2.0
12 stars 11 forks source link

n_cores_required #1160

Closed Christian-B closed 5 months ago

Christian-B commented 7 months ago

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

Christian-B commented 7 months ago

I suggest the term min_application_cores

Christian-B commented 6 months ago

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

Christian-B commented 5 months ago

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.