spinnman.model package¶
Subpackages¶
- spinnman.model.enums package
- Module contents
CPUState
DiagnosticFilterDefaultRoutingStatus
DiagnosticFilterDestination
DiagnosticFilterDestination.DUMP
DiagnosticFilterDestination.LINK_0
DiagnosticFilterDestination.LINK_1
DiagnosticFilterDestination.LINK_2
DiagnosticFilterDestination.LINK_3
DiagnosticFilterDestination.LINK_4
DiagnosticFilterDestination.LINK_5
DiagnosticFilterDestination.LOCAL
DiagnosticFilterDestination.LOCAL_MONITOR
DiagnosticFilterEmergencyRoutingStatus
DiagnosticFilterPacketType
DiagnosticFilterPayloadStatus
DiagnosticFilterSource
ExecutableType
MailboxCommand
P2PTableRoute
RouterError
RunTimeError
RunTimeError.ABORT
RunTimeError.API
RunTimeError.DABT
RunTimeError.DIVBY0
RunTimeError.ENABLE
RunTimeError.EVENT
RunTimeError.FIQ
RunTimeError.IOBUF
RunTimeError.IRQ
RunTimeError.MALLOC
RunTimeError.NONE
RunTimeError.NULL
RunTimeError.PABT
RunTimeError.PKT
RunTimeError.RESET
RunTimeError.SARK_VERSRION_INCORRECT
RunTimeError.SVC
RunTimeError.SWERR
RunTimeError.TIMER
RunTimeError.UNDEF
RunTimeError.UNRECOGNISED
RunTimeError.VIC
SDP_PORTS
SDP_RUNNING_MESSAGE_CODES
UserRegister
- Module contents
Module contents¶
- class spinnman.model.ADCInfo(adc_data: bytes, offset: int)¶
Bases:
object
Container for the ADC data that’s been retrieved from an FPGA.
- Parameters:
adc_data (bytes) – bytes from an SCP packet containing ADC information
- Raises:
SpinnmanInvalidParameterException – If the message does not contain valid ADC information
- class spinnman.model.BMPConnectionData(ip_address: str, boards: Sequence[int], port_num: int | None)¶
Bases:
object
Contains the details of a BMP connection.
- class spinnman.model.CPUInfo(x: int, y: int, p: int, cpu_data: Tuple[bytes, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, bytes, int, int, int, int, int, int])¶
Bases:
object
Represents information about the state of a CPU.
This is the content of the vcpu_t for the processor, maintained by SARK.
- Parameters:
- property application_id: int¶
The ID of the application running on the core.
- Returns:
The ID of the application
- Return type:
- property application_mailbox_command: MailboxCommand¶
The command currently in the mailbox being sent from the monitor processor to the application.
- Returns:
The command
- Return type:
- property application_mailbox_data_address: int¶
The address of the data in SDRAM for the application mailbox.
- Returns:
The address of the data
- Return type:
- property application_name: str¶
The name of the application running on the core.
- Returns:
The name of the application
- Return type:
- get_status_string() str [source]¶
Get a string indicating the status of the given core.
- Return type:
- property iobuf_address: int¶
The address of the IOBUF buffer in SDRAM.
- Returns:
The address
- Return type:
- property link_register: int¶
The current link register value.
- Returns:
The link register value
- Return type:
- static mock_info(x: int, y: int, p: int, physical_cpu_id: int, state: CPUState) CPUInfo [source]¶
Makes a CPU_info object for Testing purposes
- property monitor_mailbox_command: MailboxCommand¶
The command currently in the mailbox being sent from the application to the monitor processor.
- Returns:
The command
- Return type:
- property monitor_mailbox_data_address: int¶
The address of the data in SDRAM of the monitor mailbox.
- Returns:
The address of the data
- Return type:
- property physical_cpu_id: int¶
The physical ID of this processor.
- Returns:
The physical ID of the processor
- Return type:
- property processor_state_register: int¶
The value in the processor state register.
- Returns:
The processor state register value
- Return type:
- property run_time_error: RunTimeError¶
The reason for a run time error.
- Returns:
The run time error
- Return type:
- property software_error_count: int¶
The number of software errors counted. Saturating.
- Returns:
The number of software errors
- Return type:
- property software_source_filename_address: int¶
The address of the filename of the software source.
- Returns:
The filename address
- Return type:
- property software_source_line_number: int¶
The line number of the software source.
- Returns:
The line number
- Return type:
- property stack_pointer: int¶
The current stack pointer value.
- Returns:
The stack pointer value
- Return type:
- property state: CPUState¶
The current state of the core.
- Returns:
The state of the core
- Return type:
- property time: int¶
The time at which the application started.
- Returns:
The time in seconds since 00:00:00 on the 1st January 1970
- Return type:
- class spinnman.model.CPUInfos¶
Bases:
object
A set of CPU information objects.
- add_info(cpu_info: CPUInfo) None [source]¶
Add a info on using its core coordinates.
- Parameters:
cpu_info (CPUInfo)
- add_infos(other: Self, states: Iterable[CPUState]) None [source]¶
Adds all the infos in the other CPUInfos if the have one of the required states
mainly a support method for Transceiver.add_cpu_information_from_core
- get_cpu_info(x: int, y: int, p: int) CPUInfo [source]¶
Get the information for the given core on the given core
- Return type:
CpuInfo
- get_status_string() str [source]¶
Get a string indicating the status of the given cores.
- Return type:
- infos_for_state(state: CPUState) CPUInfos [source]¶
Creates a new CpuInfos object with Just the Infos that match the state.
- class spinnman.model.ChipInfo(system_data: bytes, offset: int)¶
Bases:
object
Represents the system variables for a chip, received from the chip SDRAM.
- Parameters:
- Raises:
SpinnmanInvalidParameterException – If the data doesn’t contain valid system data information
- property cpu_information_base_address: int¶
The base address of the CPU information structure.
- Return type:
- property first_free_router_entry: int¶
The ID of the first free routing entry on the chip.
- Return type:
- property links_available: Iterable[int]¶
The links that are available on the chip.
- Return type:
iterable(int)
- property physical_to_virtual_core_map: bytes¶
The physical core ID to virtual core ID map; entries with a value of 0xFF are non-operational cores.
- Return type:
- property sdram_base_address: int¶
The base address of the user region of SDRAM on the chip.
- Return type:
- property system_ram_heap_address: int¶
The address of the base of the heap in system RAM.
- Return type:
- property system_sdram_base_address: int¶
The base address of the System SDRAM region on the chip.
- Return type:
- property virtual_core_ids: Iterable[int]¶
A list of available cores by virtual core ID (including the monitor).
- Return type:
iterable(int)
- class spinnman.model.ChipSummaryInfo(chip_summary_data: bytes, offset: int, x: int, y: int)¶
Bases:
object
Represents the chip summary information read via an SCP command.
- Parameters:
- clear_ethernet_ip_address() None [source]¶
Forces the Ethernet IP address to None, in case of an errant chip.
- property ethernet_ip_address: str | None¶
The IP address of the Ethernet if up, or None if not.
- Return type:
- property is_ethernet_available: bool¶
Whether the Ethernet connection is available on this chip.
- Return type:
- property largest_free_sdram_block: int¶
The size of the largest block of free SDRAM in bytes.
- Return type:
- property largest_free_sram_block: int¶
The size of the largest block of free SRAM in bytes.
- Return type:
- property n_free_multicast_routing_entries: int¶
The number of multicast routing entries free on this chip.
- Return type:
- property parent_link: int | None¶
The link to the parent of the chip in the tree of chips from root.
- Return type:
- class spinnman.model.DiagnosticFilter(enable_interrupt_on_counter_event: bool, match_emergency_routing_status_to_incoming_packet: bool, destinations: List[DiagnosticFilterDestination], sources: List[DiagnosticFilterSource], payload_statuses: List[DiagnosticFilterPayloadStatus], default_routing_statuses: List[DiagnosticFilterDefaultRoutingStatus], emergency_routing_statuses: List[DiagnosticFilterEmergencyRoutingStatus], packet_types: List[DiagnosticFilterPacketType])¶
Bases:
object
A router diagnostic counter filter, which counts packets passing through the router with certain properties. The counter will be incremented so long as the packet matches one of the values in each field i.e. one of each of the destinations, sources, payload_statuses, default_routing_statuses, emergency_routing_statuses and packet_types.
- Parameters:
enable_interrupt_on_counter_event (bool) – Indicates whether an interrupt should be raised when this rule matches
match_emergency_routing_status_to_incoming_packet (bool) – Indicates whether the emergency routing statuses should be matched against packets arriving at this router (if True), or if they should be matched against packets leaving this router (if False)
destinations (list(DiagnosticFilterDestination)) – Increment the counter if one or more of the given destinations match
sources (list(DiagnosticFilterSource)) – Increment the counter if one or more of the given sources match (or None or empty list to match all)
payload_statuses (list(DiagnosticFilterPayloadStatus)) – Increment the counter if one or more of the given payload statuses match (or None or empty list to match all)
default_routing_statuses (list(DiagnosticFilterDefaultRoutingStatus)) – Increment the counter if one or more of the given default routing statuses match (or None or empty list to match all)
emergency_routing_statuses (list(DiagnosticFilterEmergencyRoutingStatus)) – Increment the counter if one or more of the given emergency routing statuses match (or None or empty list to match all)
packet_types (list(DiagnosticFilterPacketType)) – Increment the counter if one or more of the given packet types match (or None or empty list to match all)
- property default_routing_statuses: List[DiagnosticFilterDefaultRoutingStatus]¶
Returns the default routing statuses passed into the init unchanged
Currently unused
- property destinations: List[DiagnosticFilterDestination]¶
Returns the destinations passed into the init unchanged
Currently unused
- property emergency_routing_statuses: List[DiagnosticFilterEmergencyRoutingStatus]¶
Returns the emergency routing statuses passed into the init unchanged
Currently unused
- property enable_interrupt_on_counter_event: bool¶
Returns the enable interrupt on counter event passed into the init unchanged
Currently unused
- property match_emergency_routing_status_to_incoming_packet: bool¶
Returns the match emergency routing status to incoming packet passed into the init unchanged
Currently unused
- property packet_types: List[DiagnosticFilterPacketType]¶
Returns the packet types passed into the init unchanged
Currently unused
- property payload_statuses: List[DiagnosticFilterPayloadStatus]¶
Returns the payload statuses passed into the init unchanged
Currently unused
- static read_from_int(int_value: int) DiagnosticFilter [source]¶
Claims to returns a filter that reads an int
Currently only called by unused Transceiver methods
- Parameters:
int_value (int)
- Return type:
- class spinnman.model.ExecutableTargets¶
Bases:
object
Encapsulate the binaries and cores on which to execute them.
- add_processor(binary: str, chip_x: int, chip_y: int, chip_p: int, executable_type: ExecutableType | None = None) None [source]¶
Add a processor to the executable targets
- Parameters:
binary (str) – the binary path for executable
chip_x (int) – the coordinate on the machine in terms of x for the chip
chip_y (int) – the coordinate on the machine in terms of y for the chip
chip_p (int) – the processor ID to place this executable on
executable_type (ExecutableType) – the executable type for locating n cores of
- add_subsets(binary: str, subsets: CoreSubsets, executable_type: ExecutableType | None = None) None [source]¶
Add core subsets to a binary.
- Parameters:
binary (str) – the path to the binary needed to be executed
subsets (CoreSubsets) – the subset of cores that the binary needs to be loaded on
executable_type (ExecutableType) – The type of this executable.
None
means don’t record it.
- property all_core_subsets: CoreSubsets¶
All the core subsets for all the binaries.
- Return type:
- property binaries: Collection[str]¶
The binaries of the executables.
- Return type:
iterable(str)
- executable_types_in_binary_set() Iterable[ExecutableType] [source]¶
Get the executable types in the set of binaries.
- Returns:
iterable of the executable types in this binary set.
- Return type:
iterable(ExecutableType)
- get_binaries_of_executable_type(executable_type: ExecutableType) Iterable[str] [source]¶
Get the binaries of a given a executable type.
- Parameters:
executable_type (ExecutableType) – the executable type enum value
- Returns:
iterable of binaries with that executable type
- Return type:
iterable(str)
- get_cores_for_binary(binary: str) CoreSubsets [source]¶
Get the cores that a binary is to run on.
- Parameters:
binary (str) – The binary to find the cores for
- Return type:
- get_n_cores_for_executable_type(executable_type: ExecutableType) int [source]¶
Get the number of cores that the executable type is using.
- Parameters:
executable_type (ExecutableType)
- Returns:
the number of cores using this executable type
- Return type:
- class spinnman.model.HeapElement(block_address: int, next_address: int, free: int)¶
Bases:
object
An element of one of the heaps on SpiNNaker.
- Parameters:
- class spinnman.model.IOBuffer(x: int, y: int, p: int, iobuf: str)¶
Bases:
object
The contents of IOBUF for a core.
- Parameters:
- class spinnman.model.MachineDimensions(width: int, height: int)¶
Bases:
object
Represents the size of a machine in chips.
- Parameters:
- class spinnman.model.P2PTable(width: int, height: int, column_data: List[Tuple[bytes, int]])¶
Bases:
object
Represents a P2P routing table read from the machine.
- static get_column_offset(column: int) int [source]¶
Get the offset of the next column in the table from the P2P base address.
- Parameters:
column (int) – The column to be read
- static get_n_column_bytes(height: int) int [source]¶
Get the number of bytes to be read for each column of the table.
- Parameters:
height (int) – The height of the machine
- get_route(x: int, y: int) P2PTableRoute [source]¶
Get the route to follow from this chip to the given chip.
- Parameters:
- Return type:
- is_route(x: int, y: int) bool [source]¶
Determines if there is a route in the P2P table to the given chip.
- class spinnman.model.RouterDiagnostics(control_register: int, error_status: int, register_values: Sequence[int])¶
Bases:
object
Represents a set of diagnostic information available from a chip router.
- Parameters:
- Raises:
SpinnmanInvalidParameterException – If the number of register values is not 16
- property n_dropped_fixed_route_packets: int¶
The number of fixed-route packets received that were dropped.
- Return type:
- property n_dropped_multicast_packets: int¶
The number of multicast packets received that were dropped.
- Return type:
- property n_dropped_nearest_neighbour_packets: int¶
The number of nearest-neighbour packets received that were dropped.
- Return type:
- property n_dropped_peer_to_peer_packets: int¶
The number of peer-to-peer packets received that were dropped.
- Return type:
- property n_external_fixed_route_packets: int¶
The number of fixed-route packets received from external links.
- Return type:
- property n_external_multicast_packets: int¶
The number of multicast packets received from external links.
- Return type:
- property n_external_nearest_neighbour_packets: int¶
The number of nearest-neighbour packets received from external links.
- Return type:
- property n_external_peer_to_peer_packets: int¶
The number of peer-to-peer packets received from external links.
- Return type:
- property n_local_fixed_route_packets: int¶
The number of fixed-route packets received from local cores.
- Return type:
- property n_local_multicast_packets: int¶
The number of multicast packets received from local cores.
- Return type:
- property n_local_nearest_neighbour_packets: int¶
The number of nearest-neighbour packets received from local cores.
- Return type:
- property n_local_peer_to_peer_packets: int¶
The number of peer-to-peer packets received from local cores.
- Return type:
- property registers: Sequence[int]¶
The values in all of the registers. Can be used to directly access the registers if they have been programmed to give different values.
- Returns:
An array of 16 values
- Return type:
array(int)
- property user_0: int¶
The number of packets counted by the user 0 router diagnostic filter.
- Return type:
- property user_1: int¶
The number of packets counted by the user 1 router diagnostic filter.
- Return type:
- property user_2: int¶
The number of packets counted by the user 2 router diagnostic filter.
- Return type:
- property user_3: int¶
The number of packets counted by the user 3 router diagnostic filter.
- Return type:
- class spinnman.model.VersionInfo(version_data: bytes, offset: int = 0)¶
Bases:
object
Decodes SC&MP/SARK version information as returned by the SVER command.
- Parameters:
- Raises:
SpinnmanInvalidParameterException – If the message does not contain valid version information
- property build_date: int¶
The build date of the software, in seconds since 1st January 1970.
- Return type: