GeNN is a C++ library that generates code for efficiently simulating Spiking Neural Networks using GPUs. Currently, GeNN generates CUDA code meaning that it is only compatible with NVIDIA GPUs. However, we are in the process of refactoring the GeNN code generator to facilitate adding additional code generation targets.
For this project you will develop a new code-generation backend for GeNN to target an alternative parallel computing platform. Choices include OpenCL (https://www.khronos.org/opencl/), which supports Intel and AMD as well as NVIDIA GPUs or ISPCC (http://ispc.github.io/), which targets the SIMD units in a wide range of modern CPUs.
Skills required: C++, Single Instruction Multiple Thread (SIMT) programming
Mentors: Jamie Knight & Thomas Nowotny, Sussex U, UK.