spinnman.utilities package

Submodules

spinnman.utilities.appid_tracker module

class spinnman.utilities.appid_tracker.AppIdTracker(app_ids_in_use=None, min_app_id=17, max_app_id=254)[source]

Bases: object

A tracker of application IDs to make it easier to allocate new IDs.

Parameters:
  • app_ids_in_use (list(int) or None) – The IDs that are already in use
  • min_app_id (int) – The smallest application ID to use
  • max_app_id (int) – The largest application ID to use
allocate_id(allocated_id)[source]

Allocate a given ID.

Parameters:allocated_id (int) – The ID to allocate
Raises:KeyError – If the ID is not present
free_id(id_to_free)[source]

Free a given ID.

Parameters:id_to_free (int) – The ID to free
Raises:KeyError – If the ID is out of range
get_new_id()[source]

Get a new unallocated ID

Return type:int

spinnman.utilities.locate_connected_machine_ip_address module

spinnman.utilities.locate_connected_machine_ip_address.locate_connected_machine(handler)[source]

Locates any SpiNNaker machines IP addresses from the auto-transmitted packets from non-booted SpiNNaker machines.

Parameters:handler (Callable) – A callback that decides whether to stop searching. The callback is given two arguments: the IP address found and the current time. It should return True if the search should cease.

spinnman.utilities.reports module

spinnman.utilities.reports.generate_machine_report(report_directory, machine, connections)[source]

Generate report on the physical structure of the target SpiNNaker machine.

Parameters:
  • report_directory (str) – the directory to which reports are stored
  • machine (Machine) – the machine python object
  • connections (list(Connection)) – the list of connections to the machine
Raises:

IOError – when a file cannot be opened for some reason

spinnman.utilities.utility_functions module

spinnman.utilities.utility_functions.get_vcpu_address(p)[source]

Get the address of the vcpu_t structure for the given core.

Parameters:p (int) – The core
Return type:int
spinnman.utilities.utility_functions.reprogram_tag(connection: spinnman.connections.udp_packet_connections.scamp_connection.SCAMPConnection, tag: int, strip: bool = True)[source]

Reprogram an IP Tag to send responses to a given SCAMPConnection.

Parameters:
  • connection (SCAMPConnection) – The connection to target the tag at
  • tag (int) – The id of the tag to set
  • strip (bool) – True if the tag should strip SDP headers from outgoing messages
Raises:

SpinnmanTimeoutException – If things time out several times

spinnman.utilities.utility_functions.reprogram_tag_to_listener(connection: spinnman.connections.udp_packet_connections.udp_connection.UDPConnection, x: int, y: int, ip_address: str, tag: int, strip: bool = True, read_response: bool = True)[source]

Reprogram an IP Tag to send responses to a given connection that is not connected to a specific board. Such connections are normally receive-only connections.

Parameters:
  • connection (UDPConnection) – The connection to target the tag at
  • x (int) – The X coordinate of the ethernet chip that should send to the connection
  • y (int) – The Y coordinate of the ethernet chip that should send to the connection
  • ip_address (str) – The IP address of the ethernet chip that should be given the message
  • tag (int) – The id of the tag to set
  • strip (bool) – True if the tag should strip SDP headers from outgoing messages
  • read_response (bool) – True if the response to the reprogramming should be read
Raises:

SpinnmanTimeoutException – If things time out several times

spinnman.utilities.utility_functions.send_port_trigger_message(connection, board_address)[source]

Sends a port trigger message using a connection to (hopefully) open a port in a NAT and/or firewall to allow incoming packets to be received.

Parameters:
  • connection (UDPConnection) – The UDP connection down which the trigger message should be sent
  • board_address (str) – The IP address of the SpiNNaker board to which the message should be sent
spinnman.utilities.utility_functions.work_out_bmp_from_machine_details(hostname, number_of_boards)[source]

Work out the BMP connection IP address given the machine details. This is assumed to be the IP address of the machine, with 1 subtracted from the final part e.g. if the machine IP address is 192.168.0.5, the BMP IP address is assumed to be 192.168.0.4

Parameters:
  • hostname (str) – the SpiNNaker machine main hostname or IP address
  • number_of_boards (int) – the number of boards in the machine
Returns:

The BMP connection data

Return type:

BMPConnectionData

Module contents