spinn_front_end_common.utilities.utility_objs package

Module contents

class spinn_front_end_common.utilities.utility_objs.DPRIFlags(value, doc='')[source]

Bases: enum.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(value, start_state, end_state, supports_auto_pause_and_resume, doc='')[source]

Bases: enum.Enum

The different types of executable from the perspective of how they are started and controlled.

NO_APPLICATION = 3

Situation where there user has supplied no application but for some reason still wants to run.

RUNNING = 0

Runs immediately without waiting for barrier and then exits.

SYNC = 1

Calls spin1_start(SYNC_WAIT) and then eventually spin1_exit().

SYSTEM = 4

Runs immediately without waiting for barrier and never ends.

USES_SIMULATION_INTERFACE = 2

Calls simulation_run() and simulation_exit() / simulation_handle_pause_resume().

class spinn_front_end_common.utilities.utility_objs.LivePacketGatherParameters(port=None, hostname=None, tag=None, strip_sdp=True, use_prefix=False, key_prefix=None, prefix_type=None, message_type=<EIEIOType.KEY_32_BIT: 2>, 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)[source]

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()[source]

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

Return type:IPtagResource
hostname

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

Return type:bool
key_prefix

The EIEIO key prefix to remove from messages.

Return type:int
label

A label.

Return type:str
message_type

The type of messages to send.

Return type:EIEIOType
number_of_packets_sent_per_time_step

The maximum number of packets to send in a timestep.

Return type:int
payload_as_time_stamps

Whether the payloads are timestamps.

Return type:bool
payload_prefix

The payload prefix to remove if applying compaction.

Return type:int
payload_right_shift

Shift to apply to payloads.

Return type:int
port

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

Return type:int
prefix_type

The type of prefix.

Return type:EIEIOPrefix
received_key_mask

A mask to select which keys are dispatched.

Return type:int
right_shift

Shift to apply to keys.

Return type:int
strip_sdp

Whether to remove SDP headers from the messages before sending.

Return type:bool
tag

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

Return type:int or None
translate_keys

Whether to apply translation to keys.

Return type:bool
translated_key_right_shift

Shift to apply in key translation.

Return type:int
use_payload_prefix

Whether to use prefix compaction for payloads.

Return type:bool
use_prefix

Whether to use EIEIO prefix compaction on keys.

Return type:bool
class spinn_front_end_common.utilities.utility_objs.PowerUsed[source]

Bases: object

Describes the power used by a simulation.

active_cores

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

Return type:iterable(tuple(int, int, int))
active_routers

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

Return type:iterable(tuple(int, int))
add_core_active_energy(x, y, p, joules)[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, y, joules)[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.
baseline_joules

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
booted_time_secs

Time taken when the machine is booted, in seconds.

Return type:float
chip_energy_joules

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

Return type:float
data_gen_joules

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

Return type:float
data_gen_time_secs

Time taken by data generation phase, in seconds.

Return type:float
exec_time_secs

Time taken by active simulation running, in seconds.

Return type:float
fpga_exec_energy_joules

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

Return type:float
fpga_total_energy_joules

Energy used by all FPGAs in total, in Joules.

Return type:float
get_core_active_energy_joules(x, y, p)[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, y)[source]

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

Unused routers always report 0.0 for this.

Parameters:
Return type:

float

loading_joules

Energy used during data loading, in Joules.

Return type:float
loading_time_secs

Time taken by data loading, in seconds.

Return type:float
mapping_joules

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

Return type:float
mapping_time_secs

Time taken by the mapping phase, in seconds.

Return type:float
num_chips

The total number of chips used.

Return type:int
num_cores

The total number of cores used, including for SCAMP.

Return type:int
num_fpgas

The total number of FPGAs used.

Return type:int
num_frames

The total number of frames used.

Return type:int
packet_joules

Energy used by packet transmission, in Joules.

Return type:float
saving_joules

Energy used during data extraction, in Joules.

Return type:float
saving_time_secs

Time taken by data extraction, in seconds.

Return type:float
total_energy_joules

Total of all energy costs, in Joules.

Return type:float
total_time_secs

Time taken in total, in seconds.

Return type:float
class spinn_front_end_common.utilities.utility_objs.ReInjectionStatus(data, offset)[source]

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
is_reinjecting_fixed_route

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

Return type:bool
is_reinjecting_multicast

True if re-injection of multicast packets is enabled.

Return type:bool
is_reinjecting_nearest_neighbour

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

Return type:bool
is_reinjecting_point_to_point

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

Return type:bool
n_dropped_packet_overflows

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
n_dropped_packets

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
n_missed_dropped_packets

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
n_processor_dumps

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

Return type:int
n_reinjected_packets

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

Return type:int
processors_dropped_from
router_wait1_timeout

The WAIT1 timeout value of the router, in cycles.

Return type:int
router_wait1_timeout_parameters

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

Return type:tuple(int,int)
router_wait2_timeout

The WAIT2 timeout value of the router, in cycles.

Return type:int
router_wait2_timeout_parameters

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

Return type:tuple(int,int)