GSoC 2024 Project Idea 16.1 Implement batch simulation and optimization routines (350 h)

Human Neocortical Neurosolver (HNN) is a software for interpreting the neural origin of macroscale magneto-/electro-encephalography (MEG/EEG) data using biophysically-detailed microcircuit simulations. HNN can be run through a user-friendly graphical user interface or through a Python interface HNN-core.

IRC channel:

Mailing list(s):

Overview of HNN Utility
HNN-GUI tutorials
HNN-core tutorials and examples
Contributing guide
HNN-SBI preprint


HNN-core currently lacks the ability to simulate large batches of simulations which is critical for parameter optimization. The goal is to add this functionality and develop tutorials on optimization techniques that leverage batch simulations, namely simulation based inference (SBI), a deep learning based Bayesian inference method.


  • Develop batch simulation functionality to facilitate parameter sweeps over a range of model parameters
  • Create tutorials demonstrating how to use simulation based inference (SBI) with HNN-core
  • Consolidate the different optimization functions as much as possible, producing a clear API with minimal redundancies. This should also allow the user to constrain parameter ranges and run simple parameter sweeps by specifying or eliminating the optimization cost function.
  • Create a function for visualizing the parameter changes pre-to-post optimization.
  • Document the optimization routines with examples and develop tests for each function.

Related issues:

Skill level: Intermediate

Required skills: Python, some experience in neuroscience data analysis may be helpful

Time commitment: Full-time (350 hours)

Lead mentor: Nicholas Tolley (

Project website:

Backup mentors: Ryan Thorpe (, Mainak Jas (

Tech keywords: Python, networks, modeling, simulation

1 Like

Hey Greg - I’m Tom, a university student and software engineer in training, based in the UK. I’m new to open source and am interested in the GSOC batch simulation and optimization routines project, and was wondering if you guys had a template/any requirements for student proposals? I.e. what would you like to see regarding granularity of timeline estimation, work effort, previous experience, etc? Any pointers are appreciated. Also - what is the preferred channel of communication, I checked out the Gitter page but it seems a little quiet on there? :slight_smile:

Hello team! This is Samruddhi Navale. I am a final year student of Computer Engineering. I would like to highlight my ongoing final year project that is Epileptic Seizure Detection and Prediction using EEG data. I have experience in Open Source contributing, internships, freelancing, etc. I have proven track record of experience and skills in Machine Learning and Cybersecurity. I am proficient in Python. I am reaching out to actively seek any feedback/mentoring from the mentors and I am extremely thankful and passionate about this project idea and GSOC 2024. Looking forward to hearing from you!

My email:

Thank you!