Navigation and service

High Performance Computing for the Virtual Brain

Summary

In this project, our goal is to enhance the general performance of simulation and analysis tools provided by "The Virtual Brain" (TVB). In collaboration with the research group of Dr. Viktor Jirsa at Aix-Marseille Université, we are working on the development of a modular framework for the implementation of TVB neural mass models on HPC resources including automatic code generation schemes to efficiently port TVB models between computing architectures.

Background and motivation

With a community of thousands of users around the world, The Virtual Brain (TVB) is becoming a validated, popular and standard choice for the simulation of whole brain activity. With TVB, a large-scale brain simulator built with Python, the user can create simulations using neural mass models which can have outputs on different modalities like EEG, MEG and BOLD. TVB allows scientists to explore and analyze simulated and experimental data and contains analytic tools to validate relevant scientific parameters over both types of data.

Internally, the TVB simulator contains several models for the generation of neural activity at regional scale. Most of these neural mass models can be efficiently described with groups of coupled differential equations, which are numerically solved over large time spans.

Currently, the models simulated in TVB are written in Python, and most of them have not yet been optimized for parallel execution or deployment on high-performance computing (HPC) architectures (such as supercomputers, large clusters and accelerators). Several elements of these models can also be abstracted, generalized and re-utilized; however, the right description for the numeric implementation still needs to be designed.

There is significant interest in the neuroscientific community to keep up with the evolving HPC computing platforms and make optimal use of them to increase the possibilities, while reducing the time needed for simulation and analysis.

High Performance Computing for the Virtual Brain (HPC-TVB)Figure 1: Diagram of the interaction between the main computation blocks in a TVB simulation and how they can be parallelized over parameter sets during a model fitting run

Our approach

HPC for The Virtual Brain is a project which addresses these issues with the following contributions:

  1. The development of a high-level, descriptive language for the automatic generation of neural mass model kernels.
  2. The creation of a flexible HPC kernel design for neural mass models, which allows their deployment on several parallel architectures such as GPUs, FPGAs and specialized processors (KNC, KNL).
  3. The creation of an interface between the current front end of TVB and the low-level highly optimized and parallelized kernels for different models.
  4. The general performance enhancement of simulation and analysis tools provided by TVB.

Efficient techniques to explore large parameter spaces, such as the connectivity in whole brain simulations, are of great importance to make optimal usage of computational resources and enhance the understanding of the relationships between structure and function of the system. These workflows (see Figure 1) are particularly suited for parallel deployment on clusters or GPUs.

Our collaboration partners

In collaboration with the Theoretical Neurosciences Group, led by Dr. Viktor Jirsa in Aix Marseille Université, the SimLab Neuroscience works on the implementation of the software framework for code generation and parallel simulation execution.