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, uses_advanced_monitors, report_folder, java_caller=None)[source]

Bases: object

Manager of send buffers.

Parameters:
  • placements (Placements) – The placements of the vertices
  • tags (Tags) – The tags assigned to the vertices
  • transceiver (Transceiver) – The transceiver to use for sending and receiving information
  • packet_gather_cores_to_ethernet_connection_map (dict(tuple(int,int), DataSpeedUpPacketGatherMachineVertex)) – mapping of cores to the gatherer vertex placed on them
  • report_folder (str) – The directory for reports which includes the file to use as an SQL database.
  • java_caller (JavaCaller) – Support class to call Java, or None to use python
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.
get_data_for_vertex(placement, recording_region_id)[source]

It is no longer possible to get access to the data pointer.

Use get_data_by_vertex instead which returns the data that pointer.read_all() used to return the missing flag as before

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.

stop()[source]

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