Spike!  v1.0
A high speed Spiking Neural Network Simulator designed for GPGPUs.
Public Member Functions | Public Attributes
SpikingSynapses Class Reference
Inheritance diagram for SpikingSynapses:
Synapses ConductanceSpikingSynapses CurrentSpikingSynapses

List of all members.

Public Member Functions

virtual void AddGroup (int presynaptic_group_id, int postsynaptic_group_id, Neurons *neurons, Neurons *input_neurons, float timestep, synapse_parameters_struct *synapse_params)
virtual void allocate_device_pointers ()
virtual void copy_constants_and_initial_efficacies_to_device ()
virtual void reset_synapse_activities ()
virtual void set_threads_per_block_and_blocks_per_grid (int threads)
virtual void increment_number_of_synapses (int increment)
virtual void shuffle_synapses ()
virtual void update_synaptic_conductances (float timestep, float current_time_in_seconds)
virtual void calculate_postsynaptic_current_injection (SpikingNeurons *neurons, float current_time_in_seconds, float timestep)
virtual void interact_spikes_with_synapses (SpikingNeurons *neurons, SpikingNeurons *input_neurons, float current_time_in_seconds, float timestep)

Public Attributes

int * delays
bool * stdp
int * d_delays
bool * d_stdp
int * d_spikes_travelling_to_synapse
float * d_time_of_last_spike_to_reach_synapse
int maximum_axonal_delay_in_timesteps

Member Function Documentation

virtual void SpikingSynapses::AddGroup ( int  presynaptic_group_id,
int  postsynaptic_group_id,
Neurons neurons,
Neurons input_neurons,
float  timestep,
synapse_parameters_struct synapse_params 
) [virtual]

Determines the synaptic connections to add to the simulation connectivity. This is a virtual function to allow polymorphism in the methods of various sub-class implementations. Allocates memory as necessary for group size and indices storage.

Parameters:
presynaptic_group_idAn int ID of the presynaptic neuron population (ID is < 0 if presynaptic population is an InputSpikingNeuron population)
postsynaptic_group_idAn int ID of the postsynaptic neuron population.
neuronsA pointer to an instance of the Neurons class (or sub-class) which is included in this simulation.
input_neuronsA pointer to an instance of the Neurons class (or sub-class) which is included in this simulation (for population indices < 0, i.e. InputSpikingNeurons).
timestepA float indicating the timestep at which the simulator is running.
synapse_paramsA synapse_parameters_struct pointer describing the connectivity arrangement to be added between the pre and postsynaptic neuron populations.

Reimplemented from Synapses.

Reimplemented in ConductanceSpikingSynapses, and CurrentSpikingSynapses.

virtual void SpikingSynapses::allocate_device_pointers ( ) [virtual]

Exclusively for the allocation of device memory. This class allocates device pointers for presynaptic and postsynaptic neuron ids, synaptic efficacies/weights, and the number of synaptic connections to the postsynaptic neuron.

Reimplemented from Synapses.

Reimplemented in ConductanceSpikingSynapses.

Allows copying of static data related to neuron dynamics to the device. Copies synapse pre/post ids, efficies/weights, and number of postsynaptic contacts on postsynaptic neuron.

Reimplemented from Synapses.

Reimplemented in ConductanceSpikingSynapses.

virtual void SpikingSynapses::increment_number_of_synapses ( int  increment) [virtual]

A function called in to reallocate memory for a given number more synapses. /param increment The number of synapses for which allocated memory must be expanded.

Reimplemented from Synapses.

Reimplemented in ConductanceSpikingSynapses.

virtual void SpikingSynapses::set_threads_per_block_and_blocks_per_grid ( int  threads) [virtual]

A local, function called in to determine the CUDA Device thread (Synapses::threads_per_block) and block dimensions (Synapses::number_of_synapse_blocks_per_grid).

Reimplemented from Synapses.

Reimplemented in ConductanceSpikingSynapses.

virtual void SpikingSynapses::shuffle_synapses ( ) [virtual]

A function to shuffle the order of synapse array storage for increased GPU memory write speeds. Currently Unused.

Reimplemented from Synapses.

Reimplemented in ConductanceSpikingSynapses.


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Enumerations