SpiNNakerManchester / DataSpecification

Data Specification Generation and Execution
Apache License 2.0
3 stars 4 forks source link

Does using SDRAM.max_sdram_found make sense #138

Closed Christian-B closed 1 year ago

Christian-B commented 1 year ago

Found while doing https://github.com/SpiNNakerManchester/SpiNNMachine/pull/199

In https://github.com/SpiNNakerManchester/DataSpecification/blob/665793ee27b8b0e97ffac0cb8ec28ab7cebab719/data_specification/data_specification_generator.py#L254

The Maximum size of any Chip.sdram in any Machine seen since the code started running is used as a cap.

Would it not make more sense to just convert this to a Constant

Christian-B commented 1 year ago

Same in https://github.com/SpiNNakerManchester/DataSpecification/blob/665793ee27b8b0e97ffac0cb8ec28ab7cebab719/data_specification/data_specification_executor_functions.py#L180

Which could either be the sdram of a specific Chip and then yes makes sense or the SDRAM.max_sdram_found which is the max of any Chip on this Machine or an earlier one so makes less sense.

Christian-B commented 1 year ago

There is also an idea to use the Value if there is a Placement Error IN: https://github.com/SpiNNakerManchester/PACMAN/blob/25461af063b17deb95f208a92f3d488431adf5de/pacman/operations/placer_algorithms/application_placer.py#L71

To Distinguish between running out of Chips which could be resolved by getting a bigger Machine vs having a request which will never fit. For example: https://github.com/SpiNNakerManchester/sPyNNaker/issues/1307

Christian-B commented 1 year ago

Machine.maximum_user_cores_on_chip currently unused also makes sense to Convert to a Constant. Again mainly for Splitting Placement Errors between machine to small and Impossible to place

Christian-B commented 1 year ago

Agreed on Skype with @rowleya to make this a Constant.

Christian-B commented 1 year ago

changed to int