spinn_machine.version package

Submodules

spinn_machine.version.abstract_version module

class spinn_machine.version.abstract_version.AbstractVersion(max_cores_per_chip, max_sdram_per_chip)[source]

Bases: object

Properties for sa spec

board_shape

The width and heigth of a single board of this type

Returns:
chip_core_map

A map off the expected x,y coordinates on a standard board to the most likely number of cores on that chip.

Return type:dict((int, int), int)
create_machine(width, height, origin=None)[source]

Creates a new Empty machine based on the width, height and version

Parameters:
  • width (int) – The width of the machine excluding any virtual chips
  • height (int) – The height of the machine excluding any virtual chips
  • origin (str or None) – Extra information about how this machine was created to be used in the str method. Example “Virtual” or “Json
Returns:

A subclass of Machine with no Chips in it

Return type:

Machine

Raises:

SpinnMachineInvalidParameterException – If the size is unexpected

expected_xys

List of the standard x y coordinates of Chips for this version

Remember that will the board may have dead or excluded chips

Returns:
get_potential_ethernet_chips(width, height)[source]

Get the coordinates of chips that should be Ethernet chips

This may well be passed down to SpiNNakerTriadGeometry

Note

This methods assumes that width and height would pass verify_size. It not the results may be wrong

Parameters:
  • width (int) – The width of the machine to find the chips in
  • height (int) – The height of the machine to find the chips in
Return type:

list(tuple(int, int))

max_cores_per_chip

Gets the max core per chip for the whole system.

There is no guarantee that there will be any Chips with this many cores, only that there will be no cores with more.

Returns:the default cores per chip
Return type:int
max_sdram_per_chip

Gets the max sdram per chip for the whole system.

While it is likely that all Chips will have this sdram this should not be counted on. Ask each Chip for its sdram.

Returns:the default sdram per chip
Return type:int
n_chips_per_board

The normal number of Chips on each board of this version

Remember that will the board may have dead or excluded chips

Return type:int
n_non_user_cores

The number of user cores per chip

Return type:int
n_router_entries

The standard number of router entries in a router table.

While it is likely that all Chips will have this number it should not be counted on. Ask each Chip’s Router for the correct value

Return type:int
name

The name of the Specific version

Return type:str
number

The version number that produced this Version

Return type:int
verify_size(width, height)[source]

Checks that the width and height are allowed for this version

Parameters:
  • width (int) –
  • height (int) –
Raises:

SpinnMachineException – If the size is unexpected

spinn_machine.version.version_3 module

class spinn_machine.version.version_3.Version3[source]

Bases: spinn_machine.version.version_spin1.VersionSpin1

Code for the small Spin1 4 Chip boards

Covers versions 2 and 3

board_shape

The width and heigth of a single board of this type

Returns:
chip_core_map

A map off the expected x,y coordinates on a standard board to the most likely number of cores on that chip.

Return type:dict((int, int), int)
get_potential_ethernet_chips(width, height)[source]

Get the coordinates of chips that should be Ethernet chips

This may well be passed down to SpiNNakerTriadGeometry

Note

This methods assumes that width and height would pass verify_size. It not the results may be wrong

Parameters:
  • width (int) – The width of the machine to find the chips in
  • height (int) – The height of the machine to find the chips in
Return type:

list(tuple(int, int))

name

The name of the Specific version

Return type:str
number

The version number that produced this Version

Return type:int

spinn_machine.version.version_5 module

class spinn_machine.version.version_5.Version5[source]

Bases: spinn_machine.version.version_spin1.VersionSpin1

Code for the large Spin1 48 Chip boards

Covers versions 4 and 5

board_shape

The width and heigth of a single board of this type

Returns:
chip_core_map

A map off the expected x,y coordinates on a standard board to the most likely number of cores on that chip.

Return type:dict((int, int), int)
get_potential_ethernet_chips(width, height)[source]

Get the coordinates of chips that should be Ethernet chips

This may well be passed down to SpiNNakerTriadGeometry

Note

This methods assumes that width and height would pass verify_size. It not the results may be wrong

Parameters:
  • width (int) – The width of the machine to find the chips in
  • height (int) – The height of the machine to find the chips in
Return type:

list(tuple(int, int))

name

The name of the Specific version

Return type:str
number

The version number that produced this Version

Return type:int

spinn_machine.version.version_factory module

spinn_machine.version.version_spin1 module

class spinn_machine.version.version_spin1.VersionSpin1[source]

Bases: spinn_machine.version.abstract_version.AbstractVersion

Shared code for all Spin1 board versions

n_non_user_cores

The number of user cores per chip

Return type:int
n_router_entries

The standard number of router entries in a router table.

While it is likely that all Chips will have this number it should not be counted on. Ask each Chip’s Router for the correct value

Return type:int

Module contents