GeNN  2.2.3
GPU enhanced Neuronal Networks (GeNN)
classol Class Reference

This class cpontains the methods for running the MBody1 example model. More...

#include <map_classol.h>

Public Member Functions

 classol ()
 
 ~classol ()
 Destructor for olfaction model. More...
 
void init (unsigned int)
 Method for initialising variables. More...
 
void allocate_device_mem_patterns ()
 Method for allocating memory on the GPU device to hold the input patterns. More...
 
void free_device_mem ()
 Methods for unallocating the memory for input patterns on the GPU device. More...
 
void read_pnkcsyns (FILE *)
 Method for reading the connectivity between PNs and KCs from a file. More...
 
void read_sparsesyns_par (int, struct SparseProjection, scalar *, FILE *, FILE *, FILE *)
 Read sparse connectivity from a file. More...
 
void write_pnkcsyns (FILE *)
 Method for writing the conenctivity between PNs and KCs back into file. More...
 
void read_pnlhisyns (FILE *)
 Method for reading the connectivity between PNs and LHIs from a file. More...
 
void write_pnlhisyns (FILE *)
 Method for writing the connectivity between PNs and LHIs to a file. More...
 
void read_kcdnsyns (FILE *)
 Method for reading the connectivity between KCs and DNs (detector neurons) from a file. More...
 
void write_kcdnsyns (FILE *)
 Method to write the connectivity between KCs and DNs (detector neurons) to a file. More...
 
void read_input_patterns (FILE *)
 Method for reading the input patterns from a file. More...
 
void generate_baserates ()
 Method for calculating the baseline rates of the Poisson input neurons. More...
 
void runGPU (scalar)
 Method for simulating the model for a given period of time on the GPU. More...
 
void runCPU (scalar)
 Method for simulating the model for a given period of time on the CPU. More...
 
void output_state (FILE *, unsigned int)
 Method for copying from device and writing out to file of the entire state of the model. More...
 
void getSpikesFromGPU ()
 Method for copying all spikes of the last time step from the GPU. More...
 
void getSpikeNumbersFromGPU ()
 Method for copying the number of spikes in all neuron populations that have occurred during the last time step. More...
 
void output_spikes (FILE *, unsigned int)
 Method for writing the spikes occurred in the last time step to a file. More...
 
void sum_spikes ()
 Method for summing up spike numbers. More...
 
void get_kcdnsyns ()
 Method for copying the synaptic conductances of the learning synapses between KCs and DNs (detector neurons) back to the CPU memory. More...
 
 classol ()
 
 ~classol ()
 
void init (unsigned int)
 
void allocate_device_mem_patterns ()
 
void free_device_mem ()
 
void read_pnkcsyns (FILE *)
 
void read_sparsesyns_par (int, struct SparseProjection, scalar *, FILE *, FILE *, FILE *)
 
void write_pnkcsyns (FILE *)
 
void read_pnlhisyns (FILE *)
 
void write_pnlhisyns (FILE *)
 
void read_kcdnsyns (FILE *)
 
void write_kcdnsyns (FILE *)
 
void read_input_patterns (FILE *)
 
void generate_baserates ()
 
void runGPU (scalar)
 
void runCPU (scalar)
 
void output_state (FILE *, unsigned int)
 
void getSpikesFromGPU ()
 
void getSpikeNumbersFromGPU ()
 
void output_spikes (FILE *, unsigned int)
 
void sum_spikes ()
 
void get_kcdnsyns ()
 
 classol ()
 
 ~classol ()
 
void init (unsigned int)
 
void allocate_device_mem_patterns ()
 
void free_device_mem ()
 
void read_pnkcsyns (FILE *)
 
void read_sparsesyns_par (int, struct SparseProjection, scalar *, FILE *, FILE *, FILE *)
 
void write_pnkcsyns (FILE *)
 
void read_pnlhisyns (FILE *)
 
void write_pnlhisyns (FILE *)
 
void read_kcdnsyns (FILE *)
 
void write_kcdnsyns (FILE *)
 
void read_input_patterns (FILE *)
 
void generate_baserates ()
 
void runGPU (scalar)
 
void runCPU (scalar)
 
void output_state (FILE *, unsigned int)
 
void getSpikesFromGPU ()
 
void getSpikeNumbersFromGPU ()
 
void output_spikes (FILE *, unsigned int)
 
void sum_spikes ()
 
void get_kcdnsyns ()
 
 classol ()
 
 ~classol ()
 
void init (unsigned int)
 
void allocate_device_mem_patterns ()
 
void free_device_mem ()
 
void read_pnkcsyns (FILE *)
 
template<class DATATYPE >
void read_sparsesyns_par (DATATYPE *, int, struct SparseProjection, FILE *, FILE *, FILE *)
 Read sparse connectivity from a file. More...
 
void write_pnkcsyns (FILE *)
 
void read_pnlhisyns (FILE *)
 
void write_pnlhisyns (FILE *)
 
void read_kcdnsyns (FILE *)
 
void write_kcdnsyns (FILE *)
 
void read_input_patterns (FILE *)
 
void generate_baserates ()
 
void runGPU (scalar)
 
void runCPU (scalar)
 
void output_state (FILE *, unsigned int)
 
void getSpikesFromGPU ()
 
void getSpikeNumbersFromGPU ()
 
void output_spikes (FILE *, unsigned int)
 
void sum_spikes ()
 
void get_kcdnsyns ()
 
 classol ()
 
 ~classol ()
 
void init (unsigned int)
 
void allocate_device_mem_input ()
 
void free_device_mem ()
 
void read_PNIzh1syns (scalar *, FILE *)
 
void read_sparsesyns_par (int, struct SparseProjection, FILE *, FILE *, FILE *, double *)
 Read sparse connectivity from a file. More...
 
void generate_baserates ()
 
void run (float, unsigned int)
 
void output_state (FILE *, unsigned int)
 
void getSpikesFromGPU ()
 
void getSpikeNumbersFromGPU ()
 
void output_spikes (FILE *, unsigned int)
 
void sum_spikes ()
 

Public Attributes

NNmodel model
 
unsigned int offset
 
uint64_t * theRates
 
scalarp_pattern
 
uint64_t * pattern
 
uint64_t * baserates
 
uint64_t * d_pattern
 
uint64_t * d_baserates
 
unsigned int sumPN
 
unsigned int sumKC
 
unsigned int sumLHI
 
unsigned int sumDN
 
unsigned int size_g
 
unsigned int sumIzh1
 

Detailed Description

This class cpontains the methods for running the MBody1 example model.

This class cpontains the methods for running the MBody_delayedSyn example model.

Constructor & Destructor Documentation

classol::classol ( )
classol::~classol ( )

Destructor for olfaction model.

classol::classol ( )
classol::~classol ( )
classol::classol ( )
classol::~classol ( )
classol::classol ( )
classol::~classol ( )
classol::classol ( )
classol::~classol ( )

Member Function Documentation

void classol::allocate_device_mem_input ( )
void classol::allocate_device_mem_patterns ( )
void classol::allocate_device_mem_patterns ( )
void classol::allocate_device_mem_patterns ( )
void classol::allocate_device_mem_patterns ( )

Method for allocating memory on the GPU device to hold the input patterns.

void classol::free_device_mem ( )
void classol::free_device_mem ( )
void classol::free_device_mem ( )
void classol::free_device_mem ( )
void classol::free_device_mem ( )

Methods for unallocating the memory for input patterns on the GPU device.

void classol::generate_baserates ( )
void classol::generate_baserates ( )
void classol::generate_baserates ( )

Method for calculating the baseline rates of the Poisson input neurons.

void classol::generate_baserates ( )
void classol::generate_baserates ( )
void classol::get_kcdnsyns ( )

Method for copying the synaptic conductances of the learning synapses between KCs and DNs (detector neurons) back to the CPU memory.

void classol::get_kcdnsyns ( )
void classol::get_kcdnsyns ( )
void classol::get_kcdnsyns ( )
void classol::getSpikeNumbersFromGPU ( )
void classol::getSpikeNumbersFromGPU ( )

Method for copying the number of spikes in all neuron populations that have occurred during the last time step.

This method is a simple wrapper for the convenience function copySpikeNFromDevice() provided by GeNN.

void classol::getSpikeNumbersFromGPU ( )
void classol::getSpikeNumbersFromGPU ( )
void classol::getSpikeNumbersFromGPU ( )
void classol::getSpikesFromGPU ( )
void classol::getSpikesFromGPU ( )

Method for copying all spikes of the last time step from the GPU.

This is a simple wrapper for the convenience function copySpikesFromDevice() which is provided by GeNN.

void classol::getSpikesFromGPU ( )
void classol::getSpikesFromGPU ( )
void classol::getSpikesFromGPU ( )
void classol::init ( unsigned  int)
void classol::init ( unsigned  int)
void classol::init ( unsigned  int)
void classol::init ( unsigned  int)
void classol::init ( unsigned int  which)

Method for initialising variables.

Parameters
whichFlag defining whether GPU or CPU only version is run
void classol::output_spikes ( FILE *  ,
unsigned  int 
)
void classol::output_spikes ( FILE *  f,
unsigned int  which 
)

Method for writing the spikes occurred in the last time step to a file.

Parameters
fFile handle for a file to write spike times to
whichFlag determining whether using GPU or CPU only
void classol::output_spikes ( FILE *  ,
unsigned  int 
)
void classol::output_spikes ( FILE *  ,
unsigned  int 
)
void classol::output_spikes ( FILE *  ,
unsigned  int 
)
void classol::output_state ( FILE *  ,
unsigned  int 
)
void classol::output_state ( FILE *  ,
unsigned  int 
)
void classol::output_state ( FILE *  f,
unsigned int  which 
)

Method for copying from device and writing out to file of the entire state of the model.

Parameters
fFile handle for a file to write the model state to
whichFlag determining whether using GPU or CPU only
void classol::output_state ( FILE *  ,
unsigned  int 
)
void classol::output_state ( FILE *  ,
unsigned  int 
)
void classol::read_input_patterns ( FILE *  f)

Method for reading the input patterns from a file.

Parameters
fFile handle for a file containing input patterns
void classol::read_input_patterns ( FILE *  )
void classol::read_input_patterns ( FILE *  )
void classol::read_input_patterns ( FILE *  )
void classol::read_kcdnsyns ( FILE *  f)

Method for reading the connectivity between KCs and DNs (detector neurons) from a file.

Parameters
fFile handle for a file containing KC to DN (detector neuron) conductivity values
void classol::read_kcdnsyns ( FILE *  )
void classol::read_kcdnsyns ( FILE *  )
void classol::read_kcdnsyns ( FILE *  )
void classol::read_PNIzh1syns ( scalar gp,
FILE *  f 
)
void classol::read_pnkcsyns ( FILE *  )
void classol::read_pnkcsyns ( FILE *  f)

Method for reading the connectivity between PNs and KCs from a file.

Parameters
fFile handle for a file containing PN to KC conductivity values
void classol::read_pnkcsyns ( FILE *  )
void classol::read_pnkcsyns ( FILE *  )
void classol::read_pnlhisyns ( FILE *  )
void classol::read_pnlhisyns ( FILE *  )
void classol::read_pnlhisyns ( FILE *  f)

Method for reading the connectivity between PNs and LHIs from a file.

Parameters
fFile handle for a file containing PN to LHI conductivity values
void classol::read_pnlhisyns ( FILE *  )
void classol::read_sparsesyns_par ( int  synInd,
struct SparseProjection  C,
FILE *  f_ind,
FILE *  f_indInG,
FILE *  f_g,
double *  g 
)

Read sparse connectivity from a file.

Parameters
synIndindex of the synapse population to be worked on
Ccontains the arrays to be initialized from file
f_indfile pointer for the indices of post-synaptic neurons
f_indInGfile pointer for the summed post-synaptic neurons numbers
f_gFile handle for a file containing sparse conductivity values
garray to receive the conductance values
void classol::read_sparsesyns_par ( int  ,
struct SparseProjection  ,
scalar ,
FILE *  ,
FILE *  ,
FILE *   
)
void classol::read_sparsesyns_par ( int  synInd,
struct SparseProjection  C,
scalar g,
FILE *  f_ind,
FILE *  f_indInG,
FILE *  f_g 
)

Read sparse connectivity from a file.

Parameters
synIndindex of the synapse population to be worked on
Ccontains the arrays to be initialized from file
garray to receive the conductance values
f_indfile pointer for the indices of post-synaptic neurons
f_indInGfile pointer for the summed post-synaptic neurons numbers
f_gFile handle for a file containing sparse connectivity values
void classol::read_sparsesyns_par ( int  ,
struct SparseProjection  ,
scalar ,
FILE *  ,
FILE *  ,
FILE *   
)
template<class DATATYPE >
void classol::read_sparsesyns_par ( DATATYPE *  wuvar,
int  synInd,
struct SparseProjection  C,
FILE *  f_ind,
FILE *  f_indInG,
FILE *  f_g 
)

Read sparse connectivity from a file.

Parameters
wuvararray to receive the conductance values
synIndindex of the synapse population to be worked on
Ccontains the arrays to be initialized from file
f_indfile pointer for the indices of post-synaptic neurons
f_indInGfile pointer for the summed post-synaptic neurons numbers
f_gFile handle for a file containing sparse conductivity values
void classol::run ( float  runtime,
unsigned int  which 
)
void classol::runCPU ( scalar  )
void classol::runCPU ( scalar  runtime)

Method for simulating the model for a given period of time on the CPU.

Method for simulating the model for a given period of time on th CPU.

Parameters
runtimeDuration of time to run the model for
void classol::runCPU ( scalar  )
void classol::runCPU ( scalar  )
void classol::runGPU ( scalar  runtime)

Method for simulating the model for a given period of time on the GPU.

Method for simulating the model for a given period of time on th GPU.

Parameters
runtimeDuration of time to run the model for
void classol::runGPU ( scalar  )
void classol::runGPU ( scalar  )
void classol::runGPU ( scalar  )
void classol::sum_spikes ( )
void classol::sum_spikes ( )

Method for summing up spike numbers.

void classol::sum_spikes ( )
void classol::sum_spikes ( )
void classol::sum_spikes ( )
void classol::write_kcdnsyns ( FILE *  f)

Method to write the connectivity between KCs and DNs (detector neurons) to a file.

Parameters
fFile handle for a file to write KC to DN (detectore neuron) conductivity values to
void classol::write_kcdnsyns ( FILE *  )
void classol::write_kcdnsyns ( FILE *  )
void classol::write_kcdnsyns ( FILE *  )
void classol::write_pnkcsyns ( FILE *  )
void classol::write_pnkcsyns ( FILE *  )
void classol::write_pnkcsyns ( FILE *  f)

Method for writing the conenctivity between PNs and KCs back into file.

Parameters
fFile handle for a file to write PN to KC conductivity values to
void classol::write_pnkcsyns ( FILE *  )
void classol::write_pnlhisyns ( FILE *  )
void classol::write_pnlhisyns ( FILE *  f)

Method for writing the connectivity between PNs and LHIs to a file.

Parameters
fFile handle for a file to write PN to LHI conductivity values to
void classol::write_pnlhisyns ( FILE *  )
void classol::write_pnlhisyns ( FILE *  )

Member Data Documentation

uint64_t * classol::baserates
uint64_t * classol::d_baserates
uint64_t * classol::d_pattern
NNmodel classol::model
unsigned int classol::offset
scalar * classol::p_pattern
uint64_t * classol::pattern
unsigned int classol::size_g
unsigned int classol::sumDN
unsigned int classol::sumIzh1
unsigned int classol::sumKC
unsigned int classol::sumLHI
unsigned int classol::sumPN
uint64_t* classol::theRates

The documentation for this class was generated from the following files: