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 clear_connection_cache() None [source]¶
Clear the connection data stored in the vertex so far.
- abstract get_connections_from_machine(app_edge: ProjectionApplicationEdge, synapse_info: SynapseInformation) ConnectionsArray [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 get_synapse_id_by_target(target: str) int | None [source]¶
Get the ID of a synapse given the name.
- abstract set_synapse_dynamics(synapse_dynamics: AbstractSynapseDynamics)[source]¶
Set the synapse dynamics of this vertex.
- Parameters:
synapse_dynamics (AbstractSynapseDynamics)
- verify_splitter(splitter: AbstractSpynnakerSplitterDelay)[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() bool [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:
- 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: int¶
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: int¶
The region ID containing the parameters of synaptic expansion.
- Return type:
- abstract gen_on_machine() bool [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:
- 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
API for getting connections from the machine.
- abstract get_connections_from_machine(placement: Placement, app_edge: ProjectionApplicationEdge, synapse_info: SynapseInformation) Sequence[NDArray] [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¶
- class spynnaker.pyNN.models.abstract_models.SendsSynapticInputsOverSDRAM¶
Bases:
AbstractSupportsSDRAMEdges
A marker interface for an object that sends synaptic inputs over SDRAM.
- class spynnaker.pyNN.models.abstract_models.SupportsStructure¶
Bases:
object
Indicates an object that supports the setting of a PyNN structure.
- abstract set_structure(structure: BaseStructure)[source]¶
Set the structure of the object.
- Parameters:
structure (BaseStructure) – The structure to set