The Brian simulator’s “C++ standalone mode” has been extended to support code generation for CUDA via the Brian2CUDA package (Alevi et al. 2022, Frontiers Neuroinformatics). This makes it possible to accelerate simulations by making use of the parallel processing capabilities of NVIDIA GPUs. The package is already widely used, despite the software still being in a “beta” state. The aim of this project is to make the package “production-ready” by tackling various issues from the project’s issue tracker. Particular aims include:
- Add Windows support by adapting the makefile and compilation options
- Improve compilation speed
- Update and extend documentation
- Implement support for preference files
- Implement a configurable logging system
- For the bigger project scope, in addition:
- Triage the existing issue reports
- Triage and fix (if necessary/possible) the existing performance issues
- Set up a basic test suite that can be run online on free infrastructure (e.g. Google Collab with GPU support)
Skill level: intermediate
Required skills: C++, CUDA, Python
Lead mentor: Marcel Stimberg (marcel.stimberg@sorbonne-universite.fr; mstimberg on NeuroStars)
Project Website: GitHub - brian-team/brian2cuda: A brian2 extension to simulate spiking neural networks on GPUs · GitHub and GitHub - brian-team/brian2: Brian is a free, open source simulator for spiking neural networks. · GitHub
Backup mentors: Dan Goodman (d.goodman@imperial.ac.uk; d.goodman on NeuroStars), Benjamin Evans (B.D.Evans@sussex.ac.uk)
Tech keywords: Python, C++, CUDA, GPU, Makefile