Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version #217

Merged
merged 25 commits into from
Jul 28, 2023
Merged

Version #217

merged 25 commits into from
Jul 28, 2023

Conversation

Christian-B
Copy link
Member

@Christian-B Christian-B commented Jul 21, 2023

Alternative to #215
if this is approved close without merging the above

In Preparation for Spin2 this Introduces a set of Version classes defined by AbstractVersion

During sim.setup the version_factory() class will read the cfg and load a Specific Version class into the ....View.

The Version init will read any cfg setting that affect the values it returns so from this point only the Version is used to.

  1. Provide Values that used to be Machine constants but are likely to change for Spin2
  2. Check Width and Height and use these to create the correct Wrap Machine
  3. Pass into the Machine a Dict of xys and the default number of cores. Mainly used for creating Virtual Machines

Machine changes included

  1. Rreplacing local_xys and CHIPS_PER_BOARD with _chip_core_map (which it gets from Version)
  2. Lose the max_cores methods as this is now handled by Version and its init
  3. Have counters for cores, links and router_entries
  4. Replace cores_and_link_output_string with summary_string
    • based on the counters
    • give more info
    • logs warnings it the Machine has unexpected but supported characteristics
  5. Add the currently needed access method for the counters
  6. Removed the creation of Machine with existing Chips (it was never used outside of Tests)

Machine_factory lost ability to create boards from size (now Version) and from Chips (unused)
If the steps to check and repair Machine change for spin2 the rest should be moved to Version

Router init is always passed the n_available_multicast_entries

board width and height moved to spinn5_triad_geometry

  • May need to be renamed 48_chip_triad_geometry
    width and height passed into SpiNNakerTriadGeometry
  • in case we ever support different ones than 8

Any untitest that directly or indirectly created a Virtual Board now has to do:
set_config("Machine", "version", 5) Or set_config("Machine", "version", 3)

Must be done at the same time as:
SpiNNakerManchester/SpiNNMan#343
SpiNNakerManchester/PACMAN#520
SpiNNakerManchester/SpiNNFrontEndCommon#1093
SpiNNakerManchester/sPyNNaker#1373

Tested by:
SpiNNakerManchester/IntegrationTests#220

fixes: #211

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

fix or remove cfg max_machine_core
2 participants