spinn_front_end_common.interface.buffer_management package

Module contents

class spinn_front_end_common.interface.buffer_management.BufferManager(placements, tags, transceiver, extra_monitor_cores, packet_gather_cores_to_ethernet_connection_map, extra_monitor_to_chip_mapping, machine, fixed_routes, report_folder, java_caller=None)[source]

Bases: object

Manager of send buffers.

Parameters:
add_receiving_vertex(vertex)[source]

Add a vertex into the managed list for vertices which require buffers to be received from them during runtime.

Parameters:vertex (AbstractReceiveBuffersToHost) – the vertex to be managed
add_sender_vertex(vertex)[source]

Add a vertex into the managed list for vertices which require buffers to be sent to them during runtime.

Parameters:vertex (AbstractSendsBuffersFromHost) – the vertex to be managed
clear_recorded_data(x, y, p, recording_region_id)[source]

Removes the recorded data stored in memory.

Parameters:
  • x (int) – placement x coordinate
  • y (int) – placement y coordinate
  • p (int) – placement p coordinate
  • recording_region_id (int) – the recording region ID
get_data_by_placement(placement, recording_region_id)[source]

Get the data container for all the data retrieved during the simulation from a specific region area of a core.

Parameters:
  • placement (Placement) – the placement to get the data from
  • recording_region_id (int) – desired recording data region
Returns:

an array contained all the data received during the simulation, and a flag indicating if any data was missing

Return type:

tuple(bytearray, bool)

get_data_for_placements(placements, progress=None)[source]
Parameters:
  • placements (Placements) – Where to get the data from.
  • progress (ProgressBar or None) – How to measure/display the progress.
load_initial_buffers()[source]

Load the initial buffers for the senders using memory writes.

reset()[source]

Resets the buffered regions to start transmitting from the beginning of its expected regions and clears the buffered out data files.

resume()[source]

Resets any data structures needed before starting running again.

sender_vertices

The vertices which are buffered.

Return type:iterable(AbstractSendsBuffersFromHost)
stop()[source]

Indicates that the simulation has finished, so no further outstanding requests need to be processed.