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 | update_membrane_potentials (float timestep, float current_time_in_seconds) |
virtual void | check_for_neuron_spikes (float current_time_in_seconds, float timestep) |
Public Attributes | |
float * | adaptation_values_w |
float * | membrane_capacitances_Cm |
float * | membrane_leakage_conductances_g0 |
float * | leak_reversal_potentials_E_L |
float * | slope_factors_Delta_T |
float * | adaptation_coupling_coefficients_a |
float * | adaptation_time_constants_tau_w |
float * | adaptation_changes_b |
float | absolute_refractory_period |
float | background_current |
float * | d_adaptation_values_w |
float * | d_membrane_capacitances_Cm |
float * | d_membrane_leakage_conductances_g0 |
float * | d_leak_reversal_potentials_E_L |
float * | d_slope_factors_Delta_T |
float * | d_adaptation_coupling_coefficients_a |
float * | d_adaptation_time_constants_tau_w |
float * | d_adaptation_changes_b |
virtual int AdExSpikingNeurons::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 SpikingNeurons.
virtual void AdExSpikingNeurons::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 AdExSpikingNeurons::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 AdExSpikingNeurons::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.