spynnaker.pyNN.models.abstract_models package¶
Module contents¶
- class spynnaker.pyNN.models.abstract_models.AbstractAcceptsIncomingSynapses¶
Bases:
object
Indicates an application vertex that can be a post-vertex in a PyNN projection.
Note
- abstract get_connections_from_machine(app_edge, synapse_info)[source]¶
Get the connections from the machine post-run.
- Parameters:
app_edge (ProjectionApplicationEdge) – The edge for which the data is being read
synapse_info (SynapseInformation) – The specific projection within the edge
- Return type:
- abstract set_synapse_dynamics(synapse_dynamics)[source]¶
Set the synapse dynamics of this vertex.
- Parameters:
synapse_dynamics (AbstractSynapseDynamics) –
- verify_splitter(splitter)[source]¶
Check that the splitter implements the API(s) expected by the SynapticMatrices
Any Vertex that implements this API should override ApplicationVertex.splitter method to also call this function.
- Parameters:
splitter (AbstractSpynnakerSplitterDelay) – the splitter
- Raises:
PacmanConfigurationException – if the splitter is not an instance of AbstractSpynnakerSplitterDelay
- class spynnaker.pyNN.models.abstract_models.AbstractHasDelayStages¶
Bases:
object
Indicates that this object (an application vertex) has delay stages that are used to increase the space required for bitfields in
spynnaker.pyNN.utilities.bit_field_utilities.get_estimated_sdram_for_bit_field_region()
- class spynnaker.pyNN.models.abstract_models.AbstractMaxSpikes¶
Bases:
object
Indicates a class (a
MachineVertex
) that can describe the maximum rate that it sends spikes.The
SynapticManager
assumes that all machine vertexes share the same synapse_information will have the same rates.
- class spynnaker.pyNN.models.abstract_models.AbstractNeuronExpandable¶
Bases:
object
Indicates a class (a
MachineVertex
) that has may need to run the neuron expander APLX.- abstract gen_neurons_on_machine()[source]¶
True if the neurons of a the slice of this vertex should be generated on the machine.
Note
The typical implementation for this method will be to ask the neuron data
- Return type:
- abstract property neuron_generator_region¶
The region containing the parameters of neuron expansion.
- Return type:
- class spynnaker.pyNN.models.abstract_models.AbstractSynapseExpandable¶
Bases:
object
Indicates a class (a
MachineVertex
) that has may need to run the synapse expander APLX.Note
This is not implemented by the
DelayExtensionMachineVertex
, which needs a different expander APLX- abstract property bit_field_size¶
The amount of bit field data to be generated. This is used to calculate the timeout of the execution.
- Return type:
- abstract property connection_generator_region¶
The region ID containing the parameters of synaptic expansion.
- Return type:
- abstract gen_on_machine()[source]¶
True if the synapses of a the slice of this vertex should be generated on the machine.
Note
The typical implementation for this method will be to ask the app_vertex’s synapse_manager
- Return type:
- abstract property max_gen_data¶
The maximum amount of synaptic data to be generated. This is used to calculate the timeout of the execution.
- Return type:
- class spynnaker.pyNN.models.abstract_models.HasShapeKeyFields¶
Bases:
object
Indicates a source that has keys in fields for each dimension of the source.
- class spynnaker.pyNN.models.abstract_models.HasSynapses¶
Bases:
object
- abstract get_connections_from_machine(placement, app_edge, synapse_info)[source]¶
Get the connections from the machine for this vertex.
- Parameters:
placement (Placement) – Where the connection data is on the machine
app_edge (ProjectionApplicationEdge) – The edge for which the data is being read
synapse_info (SynapseInformation) – The specific projection within the edge
- Return type:
- class spynnaker.pyNN.models.abstract_models.ReceivesSynapticInputsOverSDRAM¶
Bases:
AbstractSupportsSDRAMEdges
An object that receives synaptic inputs over SDRAM.
The number of neurons to be sent per synapse type is rounded up to be a power of 2. A sender must send N_BYTES_PER_INPUT of data for each synapse type for each neuron, formatted as all the data for each neuron for the first synapse type, followed by all the data for each neuron for the second, and so on for each synapse type. Each input is an accumulated weight value for the timestep, scaled with the given weight scales.
- N_BYTES_PER_INPUT = 2¶
- abstract property n_bytes_for_transfer¶
The number of bytes to be sent over the channel. This will be calculated using the above numbers, but also rounded up to a number of words, and with the number of neurons rounded up to a power of 2.
- Return type:
- abstract sdram_requirement(sdram_machine_edge: SDRAMMachineEdge) int [source]¶
Asks a machine vertex for the SDRAM requirement it needs.
- Parameters:
sdram_machine_edge (SDRAMMachineEdge) – The SDRAM edge in question
- Returns:
The size in bytes this vertex needs for the SDRAM edge.
- Return type:
int (most likely a multiple of 4)
- class spynnaker.pyNN.models.abstract_models.SendsSynapticInputsOverSDRAM¶
Bases:
AbstractSupportsSDRAMEdges
A marker interface for an object that sends synaptic inputs over SDRAM.
- abstract sdram_requirement(sdram_machine_edge: SDRAMMachineEdge) int [source]¶
Asks a machine vertex for the SDRAM requirement it needs.
- Parameters:
sdram_machine_edge (SDRAMMachineEdge) – The SDRAM edge in question
- Returns:
The size in bytes this vertex needs for the SDRAM edge.
- Return type:
int (most likely a multiple of 4)