Spend your summer 2023 writing code for our open source software TVB project!
The 2023 Google Summer of Code (GSoC) launches its program to continue helping the open-source community to grow.
This year again, the Brain Simulation Section is mentoring via the International Neuroinformatics Coordinating Facility (INCF) organization that pairs GSoC candidates with developers from its community to work on 3-month programming projects.
About Google Summer of Code
Google Summer of Code (GSoC) is a global, online program focused on bringing new contributors into open source software development. GSoC Contributors work with an open source organization on a 12+ week programming project under the guidance of mentors.
Visit the official GSoC website.
The International Neuroinformatics Coordinating Facility (INCF) is an international organization created on January 2004 coordinating the application of integrated methods of neuroinformatics. The INCF network comprises an increasing number of international institutions and serves as a forum to collaboratively coordinate global neuroinformatics activities that guide and oversee the development of standards, best practices, ontologies, and other unifying activities that fulfil the mission of INCF.
Learn more about INCF by visiting the official website: https://www.incf.org
Our TVB project
There are several modeling studies using brain network models which incorporate biologically-realistic macroscopic connectivity (the so-called connectome), to understand the global dynamics observed in the healthy and diseased brain as measured by different neuroimaging modalities such as fMRI, EEG and MEG. For this particular modelling approach in Computational Neuroscience, open-source frameworks enabling the collaboration between researchers with different backgrounds, are not widely available. The Virtual Brain is, so far, the only neuroinformatics project filling that place.
All TVB projects, below, can be tailored for a 12-week time window, both full-time and part-time, as the features/pages can be built incrementally.
In the TVB ecosystem, there is a toolbox called TVB-Multiscale, which allows for co-simulation of TVB with spiking network simulators. The toolbox currently includes interfaces to NEST (via PyNEST interface), ANNarchy and NEURON (via NetPyNE interface). Co-simulation means that most of the brain is modelled by TVB using a mean-field dynamical model (the equations of which describe the average activity of millions of neurons), whereas a few selected brain regions are modelled at a finer scale as spiking neuronal networks. Both parts of the model are simulated at the same time and exchange data via necessary transformations between mean-field activity and total spiking activity. TVB-Multiscale is already actively used in brain modelling studies (e.g., see the first related publication Meier et al., J Exp Neurol, 2022).
Currently, co-simulation takes place in a sequential manner, where the integration of each model by the corresponding simulator, as well as the bidirectional transformations and transfer of data, follow one after the other, and are executed by a single process.
The objective of this project is to work towards the next major release (3.x), which will allow for co-simulation, data transformation and exchanges to happen in parallel, via multiprocessing. There is already an ongoing work towards a solution that will allow for interactive configuration and execution of the parallel co-simulation in Jupyter notebooks, with an API as similar as possible to the API currently used by the sequential co-simulation. This solution is using Ray, a software that makes parallel computations easier. Unit and integration tests, as well as documentation, are additional aspects of the work that needs to be done.
Expected results: A set of classes, extending the existing TVB-Multiscale classes, and allowing for parallel co-simulation, as well as, related examples, tests and documentation, to be included to the next major release of TVB-Multiscale (3.x).
Project website: https://req.thevirtualbrain.org/browse/TVB-2607
Lead mentor: Dionysios Perdikis
Co-mentors: Lia Domide, Michael Schirner, Petra Ritter
Planned effort: Flexible (175/350 h)
Intended skill level: Mid/Mid+
Pre-requisite skills: Python, Jupyter (optionally multiprocessing, especially ray or MPI)
Tech keywords: Python, Jupyter, multiprocessing, ray, MPI
The TVB Team is also proposing two other exciting projects:
Find out more
Are you new to open source and want to learn more about some interesting projects that you can contribute to?
Join GSoC where mentors will help guide you on your journey!
Potential GSoC contributors can register and submit their proposals to the mentor organizations that interest them.