GeNN is a framework for accelerating spiking neural network simulations on graphical processing accelerators (GPUs). GeNN was originally developed for computational neuroscience models but, in recent years, there have been exciting advances in using spiking neural network (SNN) models trained with biologically plausible learning rules for Machine Learning (ML). Networks with these learning rules are suitable for acceleration in GeNN and, in this project, we propose that the student implements one or more of the recently developed methods (SuperSpike (https://arxiv.org/pdf/1705.11146.pdf), e-prop (https://www.biorxiv.org/content/10.1101/738385v3), or Senn’s dendritic microcircuit for error backpropagation (https://doi.org/10.1371/journal.pcbi.1004638)) and benchmark it on GeNN. A stretch goal would be to help further optimise GeNN based on the benchmarking results.
Skills required: C/C++, experience with SNNs; previous knowledge of GeNN and/or experience with CUDA could be helpful; when knowledgeable inPython, some of this could be done in PyGeNN, lessening the requirements of C++ programming.