spinn_front_end_common.utilities.utility_objs package

Subpackages

Module contents

class spinn_front_end_common.utilities.utility_objs.DPRIFlags(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

SCP Dropped Packet Reinjection (DPRI) packet type flags.

FIXED_ROUTE = 8
MULTICAST = 1
NEAREST_NEIGHBOUR = 4
POINT_TO_POINT = 2
class spinn_front_end_common.utilities.utility_objs.ExecutableType

Bases: object

This class is deprecated. Please use spinnman.model.enums.ExecutableType

NO_APPLICATION = 3
RUNNING = 0
SYNC = 1
SYSTEM = 4
USES_SIMULATION_INTERFACE = 2
class spinn_front_end_common.utilities.utility_objs.LivePacketGatherParameters(port: int | None = None, hostname: str | None = None, tag=None, strip_sdp=True, use_prefix=False, key_prefix=None, prefix_type=None, message_type=EIEIOType.KEY_32_BIT, right_shift=0, payload_as_time_stamps=True, use_payload_prefix=True, payload_prefix=None, payload_right_shift=0, number_of_packets_sent_per_time_step=0, label=None, received_key_mask=4294967295, translate_keys=False, translated_key_right_shift=0)

Bases: object

Parameter holder for LivePacketGatherers so that they can be instantiated at a later date.

Raises:

ConfigurationException – If the parameters passed are known to be an invalid combination.

get_iptag_resource() IPtagResource[source]

Get a description of the IPTag that the LPG for these parameters will require.

Return type:

IPtagResource

property hostname: str | None

Where to send data from SpiNNaker: the host name of the listening UDP socket.

Return type:

str

property key_prefix: int

The EIEIO key prefix to remove from messages.

Return type:

int

property label: str

A label.

Return type:

str

property message_type: EIEIOType

The type of messages to send.

Return type:

EIEIOType

property number_of_packets_sent_per_time_step: int

The maximum number of packets to send in a timestep.

Return type:

int

property payload_as_time_stamps: bool

Whether the payloads are timestamps.

Return type:

bool

property payload_prefix: int

The payload prefix to remove if applying compaction.

Return type:

int

property payload_right_shift: int

Shift to apply to payloads.

Return type:

int

property port: int | None

Where to send data from SpiNNaker: the port of the listening UDP socket.

Return type:

int

property prefix_type: EIEIOPrefix | None

The type of prefix.

Return type:

EIEIOPrefix

property received_key_mask: int

A mask to select which keys are dispatched.

Return type:

int

property right_shift: int

Shift to apply to keys.

Return type:

int

property strip_sdp: bool

Whether to remove SDP headers from the messages before sending.

Return type:

bool

property tag: int | None

A fixed tag ID to assign, or None if any tag is OK

Return type:

int or None

property translate_keys: bool

Whether to apply translation to keys.

Return type:

bool

property translated_key_right_shift: int

Shift to apply in key translation.

Return type:

int

property use_payload_prefix: bool

Whether to use prefix compaction for payloads.

Return type:

bool

property use_prefix: bool

Whether to use EIEIO prefix compaction on keys.

Return type:

bool

class spinn_front_end_common.utilities.utility_objs.PowerUsed

Bases: object

Describes the power used by a simulation.

property active_cores: Iterable[Tuple[int, int, int]]

Enumeration of the coordinates of the cores that can report active energy usage.

Return type:

iterable(tuple(int, int, int))

property active_routers: Iterable[Tuple[int, int]]

Enumeration of the coordinates of the routers that can report active energy usage.

Return type:

iterable(tuple(int, int))

add_core_active_energy(x: int, y: int, p: int, joules: float)[source]

Adds energy for a particular core. It can be called multiple times per core.

Only intended to be used during construction of this object.

Parameters:
  • x (int)

  • y (int)

  • p (int)

  • joules (float) – the energy to add for this core, in Joules.

add_router_active_energy(x: int, y: int, joules: float)[source]

Adds energy for a particular router. It can be called multiple times per router.

Only intended to be used during construction of this object.

Parameters:
  • x (int)

  • y (int)

  • joules (float) – the energy to add for this router, in Joules.

property baseline_joules: float

Baseline/idle energy used, in Joules. This is used by things like the frames the SpiNNaker boards are held in, the cooling system, etc.

Return type:

float

property booted_time_secs: float

Time taken when the machine is booted, in seconds.

Return type:

float

property chip_energy_joules: float

Energy used by all SpiNNaker chips during active simulation running, in Joules.

Return type:

float

property data_gen_joules: float

Energy used during the data generation phase, in Joules. Assumes that the SpiNNaker system has been shut down.

Return type:

float

property data_gen_time_secs: float

Time taken by data generation phase, in seconds.

Return type:

float

property exec_time_secs: float

Time taken by active simulation running, in seconds.

Return type:

float

property fpga_exec_energy_joules: float

Energy used by all FPGAs during active simulation running, in Joules. This is included in the total FPGA energy.

Return type:

float

property fpga_total_energy_joules: float

Energy used by all FPGAs in total, in Joules.

Return type:

float

get_core_active_energy_joules(x: int, y: int, p: int) float[source]

Energy used (above idle baseline) by a particular core, in Joules.

Unused cores always report 0.0 for this.

Parameters:
Return type:

float

get_router_active_energy_joules(x: int, y: int) float[source]

Energy used (above idle baseline) by a particular router, in Joules.

Unused routers always report 0.0 for this.

Parameters:
Return type:

float

property loading_joules: float

Energy used during data loading, in Joules.

Return type:

float

property loading_time_secs: float

Time taken by data loading, in seconds.

Return type:

float

property mapping_joules: float

Energy used during the mapping phase, in Joules. Assumes that the SpiNNaker system has been shut down.

Return type:

float

property mapping_time_secs: float

Time taken by the mapping phase, in seconds.

Return type:

float

property num_chips: int

The total number of chips used.

Return type:

int

property num_cores: int

The total number of cores used, including for SCAMP.

Return type:

int

property num_fpgas: int

The total number of FPGAs used.

Return type:

int

property num_frames: int

The total number of frames used.

Return type:

int

property packet_joules: float

Energy used by packet transmission, in Joules.

Return type:

float

property saving_joules: float

Energy used during data extraction, in Joules.

Return type:

float

property saving_time_secs: float

Time taken by data extraction, in seconds.

Return type:

float

property total_energy_joules: float

Total of all energy costs, in Joules.

Return type:

float

property total_time_secs: float

Time taken in total, in seconds.

Return type:

float

class spinn_front_end_common.utilities.utility_objs.ReInjectionStatus(data: bytes, offset: int)

Bases: object

Represents a status information report from dropped packet reinjection.

Parameters:
  • data (bytes) – The data containing the information

  • offset (int) – The offset in the data where the information starts

property is_reinjecting_fixed_route: bool

True if re-injection of fixed-route packets is enabled.

Return type:

bool

property is_reinjecting_multicast: bool

True if re-injection of multicast packets is enabled.

Return type:

bool

property is_reinjecting_nearest_neighbour: bool

True if re-injection of nearest neighbour packets is enabled.

Return type:

bool

property is_reinjecting_point_to_point: bool

True if re-injection of point-to-point packets is enabled.

Return type:

bool

Ids of links where packets where dropped / reinjected

Return type:

list(int)

property n_dropped_packet_overflows: int

Of the n_dropped_packets received, how many were lost due to not having enough space in the queue of packets to reinject.

Return type:

int

property n_dropped_packets: int

The number of packets dropped by the router and received by the reinjection functionality (may not fit in the queue though).

Return type:

int

The number of times that when a dropped packet was caused due to a link failing to take the packet.

Return type:

int

property n_missed_dropped_packets: int

The number of times that when a dropped packet was read it was found that another one or more packets had also been dropped, but had been missed.

Return type:

int

property n_processor_dumps: int

The number of times that when a dropped packet was caused due to a processor failing to take the packet.

Return type:

int

property n_reinjected_packets: int

Of the n_dropped_packets received, how many packets were successfully re-injected.

Return type:

int

property processors_dropped_from: Sequence[int]

Ids of processors which failed to accept packets.

Return type:

list(int)

property router_wait1_timeout: int

The WAIT1 timeout value of the router, in cycles.

Return type:

int

property router_wait1_timeout_parameters: Tuple[int, int]

The WAIT1 timeout value of the router as mantissa and exponent.

Return type:

tuple(int,int)

property router_wait2_timeout: int

The WAIT2 timeout value of the router, in cycles.

Return type:

int

property router_wait2_timeout_parameters: Tuple[int, int]

The WAIT2 timeout value of the router as mantissa and exponent.

Return type:

tuple(int,int)