GSoC 2021 project idea 16.4: OpenMP for synaptic propagation

Dear students interested in this topic,
a few general words about the application process (the first points are general for all Brian projects, and the last is specific to this project):

  • when you start the application on the GSoC website, you will get a template for the general structure, so I’d recommend to wait for the official start of the application period before compiling the document.
  • don’t hesitate to share your draft application with me so that I can give you feedback, but please don’t wait until the very last day if you want to incorporate my feedback into the final version :slight_smile:
  • in the application, the detailed timeline does not matter that much (these things are always hard to predict); the important thing is to show that you 1) understand the project and its deliverables and 2) that you have the knowledge/skills to successfully finish this project.
  • for the second point, point to concrete proof of your experience, e.g. if you published code anywhere (e.g. for project work as part of your studies), please include a link to it.
  • this year, GSoC adds a bit of flexibility to the schedule: the official guideline is that over the 10 weeks of the project, “students are expected to spend on average 18 hours a week on the program”. Please include in your application how you’d like to organize time over the project, e.g. whether you prefer to do this “part-time work” over the full 10 weeks, or rather have fewer weeks with more hours, but include time off for vacation, etc. If several options work for you, you can of course write this as well. Finally, please mention any external constraints (e.g. exams) and how they fit into the schedule.
  • Here are two specific questions that I’d like you to discuss as part of the application:
  1. A (contrived) example where Brian gives an incorrected result – this is the main reason why we are currently showing a warning when the user uses OpenMP.
  2. Three examples of toy networks with synaptic events . This is one of the “low-hanging fruits” to improve OpenMP performance. Try to understand where OpenMP parallelization is used and where it isn’t, and try to figure out why this is the case (of course, feel free to look into Brian’s source code). Do you see any room for improvement, and how would you improve things?

Finally, a personal remark: I am about to be off on paternity leave any day now, so please don’t worry if I don’t reply right away, I might be busy with other things :baby_bottle: :wink:

1 Like