GSoC 2021 project idea 6.2: ISPC backends for GeNN

GeNN is a C++ library that generates code for efficiently simulating Spiking Neural Networks using GPUs. Currently, GeNN generates CUDA, OpenCL code meaning that it can target a wide range of GPUs . However, for simulating smaller models, focused targeting of SIMD CPUs may be advantageous. For this project you will develop a new GeNN code-generation backend for ISPC (http://ispc.github.io/), which targets the SIMD units in a wide range of modern CPUs using a CUDA-like programming model.

Skills required: C++, Single Instruction Multiple Thread (SIMT) programming

Mentors: Jamie Knight @jamie (J.C.Knight@sussex.ac.uk) and Thomas Nowotny @tnowotny (t.nowotny@sussex.ac.uk)

Tags: GeNN, CUDA, C++, SIMT

Hi everyone, My name is Saurabh. I am a final year Computer Science and Engineering undergraduate. I am proficient in C++ and have little knowledge about SIMT but I am willing to learn.

I came across this project idea while going through the ideas google doc of INCF and found it interesting. It would be very kind if someone could guide me on how to get started with this particular project.

Thanks!

Thanks for the interest in our project! Sounds like you have exactly the sort of skills required for this project. Good first steps would be getting familiar with ISPC via the materials linked to from http://ispc.github.io/ and with GeNN via the documentation and tutorials here.

Hi @jamie,
I have gone through the tutorial of GeNN and got a little bit familiar with ISPC.
What should I do next?

Nice work! There’s a few days until the application period begins so you could have a go at any of the following:

  • There’s a selection of bugs marked with “good first issue” in Issues · genn-team/genn · GitHub which you could have a go at
  • You could have a go at implementing something in ISPC e.g. something you’ve worked on during your degree (I’d love to see what you create if you do this!)

Alternatively, digging a little deeper in the following areas might be good preparation for writing your application:

Sure, I could try implementing something in ISPC. I will inform you once done. :smiley:

And the site is alerting me that I am limited to only 3 replies under the same topic. That’s why I have to delete one of my earlier message.:sweat_smile: