About: GeNN is a C++ library that generates code for efficiently simulating Spiking Neural Networks (SNNs) using GPUs. In order to compile this generated code, it requires a compiler and development versions of backend requirements such as CUDA. Because of this, GeNN must currently be installed from source which puts off some users.
Aims: For this project, you will develop a conda (forge) package for GeNN which will handle the installation of the required dependencies and ease installation for end users.
I hope this finds you well. I am quite interested in working on the GeNN Conda Packaging project for GSoC 2025. My objective of streamlining the installation process for GeNN through Conda best suits my skills and experience.
I have experience with Python, C++, and dependency management in machine learning projects, and I am especially interested in this project because it is about optimizing software distribution for GPU-based neural network simulation. I look forward to contributing to developing a Conda (forge) package that enhances accessibility and usability for the GeNN framework.
Please let me know if there are any microtasks or initial contributions that I can work on to start. I eagerly await your instructions and the chance to contribute to this project!
Thanks for your interest in our project. It sounds like you have just the sort of skillset we’re looking for. If you’d like to make some initial contributions, there are several issues tagged with “good first issue” on our github
Respected Sir(Jamie, GSoC Mentor),
Thank you for your reply and for directing me to the “good first issue” issues on GitHub. I thank you for the chance to begin making contributions to the project.
I will work through the issues which are tagged, get familiar with the codebase, and start making an initial contribution. If I do need any questions clarified when I’m getting the environment up and running or tackling the issues, I will seek clarification.
Looking forward to working on this innovative project!
Hi everyone,
I am Sahil Goyal.
I currently work at Oracle as a Member of Technical Staff. I have also completed my Bachelors in Computer Science and Applied Mathematics from IIIT Delhi.
My expertise lies in Python, C++, and automation. My professional and academic background has allowed me to work on a variety of projects, from automating complex workflows at Oracle to developing machine learning and deep learning models for real-world applications.
I am a strong believer in the importance of open source projects because they drive innovation and accessibility.
I would like to contribute to improving the accessibility of the project by developing a conda package for it, so that the installation process can be streamlined
Through gsoc, I look forward to learning more from the community and refining my own skills, and making the Genn installation process more user friendly and accessible
Please let me know if there are any initial contributions or tasks that i can start working on,
Given the complexity of managing CUDA, compilers, and other dependencies, how can we ensure that a Conda (Forge) package for GeNN provides a seamless, cross-platform installation experience while maintaining performance optimization for GPU-accelerated Spiking Neural Network simulations? Additionally, how can we structure the package to support future updates and compatibility with evolving CUDA versions?
I hope you’re doing well. I’m really excited about the GeNN Conda Packaging project for GSoC 2025 and would love the opportunity to contribute. Making GeNN more accessible through Conda packaging is something I’m genuinely passionate about, and I believe my experience aligns well with this goal.
I have worked extensively with Python, C++, and dependency management and have already contributed to GeNN by solving this issue. Through this, I gained a deeper understanding of the codebase and the challenges involved in packaging GeNN efficiently.
I’d love to take this further and contribute in any way possible. Please let me know if there are any tasks or additional improvements I can start working on. Looking forward to your guidance!
These are exactly the challenges of this project! You will need to investigate how CUDA dependencies are typically managed in conda packages and, because GeNN is a code generator, how to provide end users with a functioning CUDA compiler to compile generated code (this is why we need conda rather than just e.g. binary wheels on PyPI)