Spike!
v1.0
A high speed Spiking Neural Network Simulator designed for GPGPUs.
|
Public Member Functions | |
virtual int | AddGroup (neuron_parameters_struct *group_params) |
virtual void | allocate_device_pointers (int maximum_axonal_delay_in_timesteps, bool high_fidelity_spike_storage) |
virtual void | copy_constants_to_device () |
virtual void | reset_neuron_activities () |
virtual void | set_threads_per_block_and_blocks_per_grid (int threads) |
virtual void | update_membrane_potentials (float timestep, float current_time_in_seconds) |
virtual int * | setup_stimuli_presentation_order (Stimuli_Presentation_Struct *stimuli_presentation_params) |
virtual bool | stimulus_is_new_object_for_object_by_object_presentation (int stimulus_index) |
Public Attributes | |
float * | rates |
float * | d_rates |
virtual int PoissonInputSpikingNeurons::AddGroup | ( | neuron_parameters_struct * | group_params | ) | [virtual] |
Determines the total number of neurons by which the simulation should increase. This is a virtual function to allow polymorphism in the methods of various SpikingNeuron implementations. Allocates memory as necessary for group size and indices storage.
group_params | A neuron_parameters_struct instance describing a 2D neuron population size. |
Reimplemented from InputSpikingNeurons.
Reimplemented in ImagePoissonInputSpikingNeurons.
virtual void PoissonInputSpikingNeurons::allocate_device_pointers | ( | int | maximum_axonal_delay_in_timesteps, |
bool | high_fidelity_spike_storage | ||
) | [virtual] |
Exclusively for the allocation of device memory. This class requires allocation of d_current_injections only.
maximum_axonal_delay_in_timesteps | The length (in timesteps) of the largest axonal delay in the simulation. Unused in this class. |
high_fidelity_spike_storage | A flag determining whether a bit mask based method is used to store spike times of neurons (ensure no spike transmission failure). |
Reimplemented from SpikingNeurons.
virtual void PoissonInputSpikingNeurons::copy_constants_to_device | ( | ) | [virtual] |
Unused in this class. Allows copying of static data related to neuron dynamics to the device.
Reimplemented from SpikingNeurons.
virtual void PoissonInputSpikingNeurons::reset_neuron_activities | ( | ) | [virtual] |
Resets any undesired device based data which is dynamically reassigned during a simulation. In this case, the current to be injected at the next time step.
Reimplemented from SpikingNeurons.
virtual void PoissonInputSpikingNeurons::set_threads_per_block_and_blocks_per_grid | ( | int | threads | ) | [virtual] |
A local, non-polymorphic function called in to determine the CUDA Device thread (Neurons::threads_per_block) and block dimensions (Neurons::number_of_neuron_blocks_per_grid).
Reimplemented from Neurons.