def __init__(self, n_neurons, machine_time_step, timescale_factor, spikes_per_second, ring_buffer_sigma, constraints=None, label="SpikeSourcePoisson", rate=1.0, start=0.0, duration=None, seed=None): """ Creates a new SpikeSourcePoisson Object. """ AbstractPartitionableVertex.__init__( self, n_atoms=n_neurons, label=label, constraints=constraints, max_atoms_per_core=self._model_based_max_atoms_per_core) AbstractPopulationRecordableVertex.__init__(self, machine_time_step, label) AbstractDataSpecableVertex.__init__( self, machine_time_step=machine_time_step, timescale_factor=timescale_factor) AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self) self._rate = rate self._start = start self._duration = duration self._seed = seed
def __init__(self, n_neurons, max_delay_per_neuron, source_vertex, machine_time_step, timescale_factor, constraints=None, label="DelayExtension"): """ Creates a new DelayExtension Object. """ AbstractPartitionableVertex.__init__(self, n_atoms=n_neurons, constraints=constraints, label=label, max_atoms_per_core=256) AbstractDataSpecableVertex.__init__( self, machine_time_step=machine_time_step, timescale_factor=timescale_factor) AbstractProvidesIncomingEdgeConstraints.__init__(self) AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self) self._max_delay_per_neuron = max_delay_per_neuron self._max_stages = 0 self._source_vertex = source_vertex joint_constrant = PartitionerSameSizeAsVertexConstraint(source_vertex) self.add_constraint(joint_constrant)
def __init__(self, n_neurons, spike_times, machine_time_step, spikes_per_second, ring_buffer_sigma, timescale_factor, port=None, tag=None, ip_address=None, board_address=None, max_on_chip_memory_usage_for_spikes_in_bytes=None, space_before_notification=640, constraints=None, label="SpikeSourceArray"): if ip_address is None: ip_address = config.get("Buffers", "receive_buffer_host") if port is None: port = config.getint("Buffers", "receive_buffer_port") AbstractDataSpecableVertex.__init__( self, machine_time_step=machine_time_step, timescale_factor=timescale_factor) AbstractPartitionableVertex.__init__( self, n_atoms=n_neurons, label=label, max_atoms_per_core=self._model_based_max_atoms_per_core, constraints=constraints) AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self) self._spike_times = spike_times self._max_on_chip_memory_usage_for_spikes = \ max_on_chip_memory_usage_for_spikes_in_bytes self._space_before_notification = space_before_notification self.add_constraint( TagAllocatorRequireIptagConstraint(ip_address, port, strip_sdp=True, board_address=board_address, tag_id=tag)) if self._max_on_chip_memory_usage_for_spikes is None: self._max_on_chip_memory_usage_for_spikes = \ front_end_common_constants.MAX_SIZE_OF_BUFFERED_REGION_ON_CHIP # check the values do not conflict with chip memory limit if self._max_on_chip_memory_usage_for_spikes < 0: raise ConfigurationException( "The memory usage on chip is either beyond what is supportable" " on the spinnaker board being supported or you have requested" " a negative value for a memory usage. Please correct and" " try again") # Keep track of any previously generated buffers self._send_buffers = dict()
def __init__(self, machine_time_step, timescale_factor, spikes_per_second, ring_buffer_sigma, n_neurons, label, spinnaker_link_id): if n_neurons != 20: print "Warning, this device has 20 neurons" AbstractVirtualVertex.__init__(self, n_neurons, spinnaker_link_id, label, n_neurons) AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self)
def __init__( self, n_neurons, spike_times, machine_time_step, spikes_per_second, ring_buffer_sigma, timescale_factor, port=None, tag=None, ip_address=None, board_address=None, max_on_chip_memory_usage_for_spikes_in_bytes=None, space_before_notification=640, constraints=None, label="SpikeSourceArray"): if ip_address is None: ip_address = config.get("Buffers", "receive_buffer_host") if port is None: port = config.getint("Buffers", "receive_buffer_port") AbstractDataSpecableVertex.__init__( self, machine_time_step=machine_time_step, timescale_factor=timescale_factor) AbstractPartitionableVertex.__init__( self, n_atoms=n_neurons, label=label, max_atoms_per_core=self._model_based_max_atoms_per_core, constraints=constraints) AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self) AbstractPopulationRecordableVertex.__init__( self, machine_time_step, label) self._spike_times = spike_times self._max_on_chip_memory_usage_for_spikes = \ max_on_chip_memory_usage_for_spikes_in_bytes self._space_before_notification = space_before_notification self.add_constraint(TagAllocatorRequireIptagConstraint( ip_address, port, strip_sdp=True, board_address=board_address, tag_id=tag)) if self._max_on_chip_memory_usage_for_spikes is None: self._max_on_chip_memory_usage_for_spikes = \ front_end_common_constants.MAX_SIZE_OF_BUFFERED_REGION_ON_CHIP # check the values do not conflict with chip memory limit if self._max_on_chip_memory_usage_for_spikes < 0: raise ConfigurationException( "The memory usage on chip is either beyond what is supportable" " on the spinnaker board being supported or you have requested" " a negative value for a memory usage. Please correct and" " try again") if (self._max_on_chip_memory_usage_for_spikes < self._space_before_notification): self._space_before_notification =\ self._max_on_chip_memory_usage_for_spikes # Keep track of any previously generated buffers self._send_buffers = dict() self._spike_recording_region_size = None
def __init__(self, binary, n_neurons, label, constraints, max_atoms_per_core, machine_time_step, timescale_factor, spikes_per_second, ring_buffer_sigma, master_pop_algorithm=None): AbstractSynapticManager.__init__(self, master_pop_algorithm) AbstractPartitionablePopulationVertex.__init__( self, n_atoms=n_neurons, label=label, machine_time_step=machine_time_step, timescale_factor=timescale_factor, constraints=constraints, max_atoms_per_core=max_atoms_per_core) AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self) self._binary = binary self._spikes_per_second = spikes_per_second self._ring_buffer_sigma = ring_buffer_sigma
def __init__(self, n_neurons, machine_time_step, timescale_factor, spikes_per_second, ring_buffer_sigma, constraints=None, label="SpikeSourcePoisson", rate=1.0, start=0.0, duration=None, seed=None): """ Creates a new SpikeSourcePoisson Object. """ AbstractPartitionableVertex.__init__( self, n_atoms=n_neurons, label=label, constraints=constraints, max_atoms_per_core=self._model_based_max_atoms_per_core) AbstractPopulationRecordableVertex.__init__( self, machine_time_step, label) AbstractDataSpecableVertex.__init__( self, machine_time_step=machine_time_step, timescale_factor=timescale_factor) AbstractOutgoingEdgeSameContiguousKeysRestrictor.__init__(self) self._rate = rate self._start = start self._duration = duration self._seed = seed