sPyNNaker neural_modelling 7.2.2
|
This file contains the main functions for probabilistic synaptogenesis. More...
#include <neuron/structural_plasticity/synaptogenesis_dynamics.h>
#include <neuron/population_table/population_table.h>
#include <random.h>
#include <spin1_api.h>
#include <debug.h>
#include <stdfix-full-iso.h>
#include <circular_buffer.h>
#include <recording.h>
#include <neuron/synapse_row.h>
#include <neuron/synapses.h>
#include <common/maths-util.h>
#include <simulation.h>
#include "partner_selection/partner.h"
#include "elimination/elimination.h"
#include "formation/formation.h"
Go to the source code of this file.
Data Structures | |
struct | structural_recording_values_t |
Struct for structural recording data. More... | |
Macros | |
#define | ID_SHIFT 1 |
How much to shift post-IDs by. | |
#define | PRE_ID_SHIFT 9 |
How much to shift pre-IDs by. | |
Enumerations | |
enum | { ELIM_FLAG = 0 , FORM_FLAG = 1 } |
values used in recording More... | |
Functions | |
void | print_post_to_pre_entry (void) |
Print a certain data object. | |
bool | synaptogenesis_dynamics_initialise (address_t sdram_sp_address, uint32_t *recording_regions_used) |
Initialisation of synaptic rewiring (synaptogenesis) parameters (random seed, spread of receptive field etc.) | |
bool | synaptogenesis_dynamics_rewire (uint32_t time, spike_t *spike, pop_table_lookup_result_t *result) |
Trigger the process of synaptic rewiring. | |
static bool | do_formation (uint32_t time, synaptic_row_t restrict row, current_state_t *restrict current_state) |
static bool | row_restructure (uint32_t time, synaptic_row_t restrict row, current_state_t *restrict current_state) |
Performs the actual restructuring of a row. | |
bool | synaptogenesis_row_restructure (uint32_t time, synaptic_row_t row) |
Perform the actual restructuring of a row. | |
void | synaptogenesis_spike_received (uint32_t time, spike_t spike) |
Indicates that a spike has been received. | |
uint32_t | synaptogenesis_n_updates (void) |
Number of updates to do of synaptogenesis this time step. | |
Variables | |
rewiring_data_t | rewiring_data |
the instantiation of the rewiring data | |
static post_to_pre_entry * | post_to_pre_table |
inverse of synaptic matrix | |
pre_pop_info_table_t | pre_info |
pre-population information table | |
static formation_params_t ** | formation_params |
The formation parameters per pre-population. | |
static elimination_params_t ** | elimination_params |
The elimination parameters per pre-population. | |
static circular_buffer | current_state_queue |
Current states in use. | |
static circular_buffer | free_states |
Free current states. | |
uint32_t | rewiring_recording_index |
The recording region for the structural events. | |
structural_recording_values_t | structural_recording_values |
Working buffer for the recording of structural changes. | |
static uint32_t | last_rewiring_time = 0 |
Timer callbacks since last rewiring. | |
This file contains the main functions for probabilistic synaptogenesis.
Definition in file topographic_map_impl.c.
struct structural_recording_values_t |
Struct for structural recording data.
Definition at line 91 of file topographic_map_impl.c.
Data Fields | ||
---|---|---|
uint32_t | time | |
uint32_t | value |
#define ID_SHIFT 1 |
How much to shift post-IDs by.
Definition at line 53 of file topographic_map_impl.c.
#define PRE_ID_SHIFT 9 |
How much to shift pre-IDs by.
Definition at line 55 of file topographic_map_impl.c.
anonymous enum |
values used in recording
Enumerator | |
---|---|
ELIM_FLAG | Elimination flag. |
FORM_FLAG | Formation flag. |
Definition at line 46 of file topographic_map_impl.c.
void print_post_to_pre_entry | ( | void | ) |
Print a certain data object.
Definition at line 102 of file topographic_map_impl.c.
bool synaptogenesis_dynamics_initialise | ( | address_t | sdram_sp_address, |
uint32_t * | recording_regions_used | ||
) |
Initialisation of synaptic rewiring (synaptogenesis) parameters (random seed, spread of receptive field etc.)
[in] | sdram_sp_address | Address of the start of the SDRAM region which contains synaptic rewiring params. |
[in,out] | recording_regions_used | Variable used to track what recording regions have been used |
Definition at line 158 of file topographic_map_impl.c.
bool synaptogenesis_dynamics_rewire | ( | uint32_t | time, |
spike_t * | spike, | ||
pop_table_lookup_result_t * | result | ||
) |
Trigger the process of synaptic rewiring.
Usually called on a timer registered in c_main()
[in] | time | the current timestep |
[out] | spike | variable to hold the spike |
[out] | result | The result of the population table lookup |
Definition at line 220 of file topographic_map_impl.c.
|
static |
Definition at line 290 of file topographic_map_impl.c.
|
inlinestatic |
Performs the actual restructuring of a row.
Supporting function for synaptogenesis_row_restructure()
[in] | time | The time of the restructure |
[in] | row | The row to restructure |
[in] | current_state | The current state of the world |
Definition at line 317 of file topographic_map_impl.c.
bool synaptogenesis_row_restructure | ( | uint32_t | time, |
synaptic_row_t | row | ||
) |
Perform the actual restructuring of a row.
[in] | time | The time of the restructure |
[in] | row | The row to restructure |
Definition at line 376 of file topographic_map_impl.c.
void synaptogenesis_spike_received | ( | uint32_t | time, |
spike_t | spike | ||
) |
Indicates that a spike has been received.
[in] | time | The time that the spike was received at |
[in] | spike | The received spike |
Definition at line 383 of file topographic_map_impl.c.
uint32_t synaptogenesis_n_updates | ( | void | ) |
Number of updates to do of synaptogenesis this time step.
Definition at line 387 of file topographic_map_impl.c.
rewiring_data_t rewiring_data |
the instantiation of the rewiring data
Definition at line 62 of file topographic_map_impl.c.
|
static |
inverse of synaptic matrix
Definition at line 65 of file topographic_map_impl.c.
pre_pop_info_table_t pre_info |
pre-population information table
Definition at line 68 of file topographic_map_impl.c.
|
static |
The formation parameters per pre-population.
Definition at line 71 of file topographic_map_impl.c.
|
static |
The elimination parameters per pre-population.
Definition at line 74 of file topographic_map_impl.c.
|
static |
Current states in use.
synaptogenesis_row_restructure() moves states from here to free_states
Definition at line 79 of file topographic_map_impl.c.
|
static |
Free current states.
synaptogenesis_dynamics_rewire() moves states from here to current_state_queue
Definition at line 85 of file topographic_map_impl.c.
uint32_t rewiring_recording_index |
The recording region for the structural events.
Definition at line 88 of file topographic_map_impl.c.
structural_recording_values_t structural_recording_values |
Working buffer for the recording of structural changes.
Definition at line 97 of file topographic_map_impl.c.
|
static |
Timer callbacks since last rewiring.
Definition at line 100 of file topographic_map_impl.c.