SpiNNakerManchester / SpiNNMan

Interface to SpiNNaker boards from Python
Apache License 2.0
5 stars 1 forks source link

Allow no-reply to count message #377

Closed rowleya closed 8 months ago

rowleya commented 8 months ago

The COUNT request can return a P2P_NOREPLY if not all expected chips replied. This is not fatal, as a count is still included in the response. Allowing this to not be a failure here means that:

  1. The SpiNNMan SCP pipeline will retry before getting to this point, which means the error might go away.
  2. If the pipeline retries continue to lead to P2P_NOREPLY, this code will be called eventually; not failing here means we still have a count, but the count can only be smaller than it should be (as some counts didn't come back before the timeout).
  3. The count might still be enough to continue if the chips that didn't reply don't matter. If not, another mechanism will be used to count the cores anyway (i.e. reading all the CPU statuses separately). If a chip can't be read there, this will be fatal there instead (which is fine).
rowleya commented 8 months ago

For reference, the code that returns the P2P_NOREPLY from SCAMP is here: https://github.com/SpiNNakerManchester/spinnaker_tools/blob/master/scamp/scamp-cmd.c#L702-L712

Christian-B commented 8 months ago

One can argue if the no reply is correct but if that is what you get a part count is better than a NONE