The CPUInfo object contains a lot of data most of which is not actually used.
The objective of this PR is to show what of CPUInfo is actually used so that spin2 does not need to replicate it all.
Reducing what is actually held by CPUInfo and simplify the process to obtain CPUInfo objects is out of scope of this PR.
The conclusion is that the only properties that need to be exposed are x, y, p and state
A few others are used in string outputs but these are only used to debug / understand what is happening so if these string are different for a Spin2 would not be critical.
Therefor this PR.
Push the creation of status_string into the CPUInfo objects
removes all methods from CPUInfos that expose CPUInfo objects
remove Transceiver get_cpu_information_from_core
create Transceiver.add_cpu_information_from_core and CPUInfo.add_infos methods to allow reading the info a Core at a a time
Add Transciever.get_region_base_address which used to be done via CPuInfos
for Testing
move the creation of mock CPUInfo objects into that class
remove the CPUInfo.add_processor method as tests can now easily create mock Info objects
coverage: 50.372% (+0.1%) from 50.223% when pulling 0b79fcec97e6232af078035e4fdb710c2b3381db on simplify_cpu_infos into ba796212dcdbc9597d0e852b72c495dbd5bff815 on master.
Alternative to https://github.com/SpiNNakerManchester/SpiNNMan/pull/358 et al.
The CPUInfo object contains a lot of data most of which is not actually used.
The objective of this PR is to show what of CPUInfo is actually used so that spin2 does not need to replicate it all.
Reducing what is actually held by CPUInfo and simplify the process to obtain CPUInfo objects is out of scope of this PR.
The conclusion is that the only properties that need to be exposed are x, y, p and state
A few others are used in string outputs but these are only used to debug / understand what is happening so if these string are different for a Spin2 would not be critical.
Therefor this PR.
for Testing
Must be done at the same time as: https://github.com/SpiNNakerManchester/SpiNNFrontEndCommon/pull/1126 https://github.com/SpiNNakerManchester/sPyNNaker/pull/1398 https://github.com/SpiNNakerManchester/SpiNNakerGraphFrontEnd/pull/264
Tested by: https://github.com/SpiNNakerManchester/IntegrationTests/pull/244