This is the second in our blog series about the 2019 NumFOCUS Google Summer of Code students. (Part 1, Part 3)
We are excited to introduce to the community our cohort of GSoC students working with some of our NumFOCUS Affiliated Projects: ArviZ, Chainer, CuPy, Data Retriever, MDAnalysis, QuTiP, and YellowBrick.
GSoC with ArviZ
ArviZ is a Python package for exploratory analysis of Bayesian models. Includes functions for posterior analysis, sample diagnostics, model checking, and comparison.
Oriol Abril Pla
Oriol Abril Pla is an Astrophysics student in the Masters degree program at Autonomous University of Barcelona. His hometown is Sant Cugat del Vallès, Barcelona, Spain. This is his second time participating in GSoC with NumFOCUS!
Oriol’s project is Information criteria and convergence assessment tools for ArviZ:
ArviZ […] still lacks plots and tools to ease and improve its interpretation. This project seeks to design and implement these tools. Moreover, it will pay special attention to testing and documentation with examples not only of the new functionalities, but also of the already implemented ones.
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with ArviZ?
I am really interested in Bayesian modelling and I came across ArviZ some time ago, I actually started contributing before knowing GSoC existed. Some time later I discovered GSoC and realized it was compatible with my Master. Being able to dedicate myself full time to such an interesting project was like a match made in heaven.
Why did you choose your specific project topic?
I have been deeply involved throughout my Bachelor and Master and I ended up switching to Bayesian inference when models became more complicated and data scarce. However, I felt that I lacked some tools for assessing the “goodness” of my inferences, which is a subject really interesting to me. ArviZ provided them to some extent, but they wanted to expand their capabilities in this topic.
How did you get involved in open source software?
I got involved in open source software during my Bachelor thesis, which involved novae simulations with MESA. At the time, the project was really new, and new contributions were really encouraged, so I started submitting some issues to MESAplot, and ended up making public a small repository to add syntax highlight for MESA files in vim.
What are you expecting or hoping to get out of your GSoC experience?
I expect to get a great experience at many levels. I expect to meet many interesting people and become part of the community, to learn a huge deal of Bayesian methods (which I already have before the start of the coding period) and to deepen my programming knowledge and extend the libraries I am comfortable with.
What are your career goals? How do you see the GSoC program moving you towards them?
I would like to work at the boundary between data science, modelling and astrophysics, so everything I learn during this summer will for sure be a great asset afterwards to help with my career.
“I would like to reach out to anybody who is unsure about contributing to open source software to contact the project they are interested in and see how can you help. Do not worry about not knowing enough, once they have time (bear in mind that many projects are maintained by volunteers) they will most surely reply and guide you.”
Aniruddha Banerjea
Aniruddha Banerjea is a Data Sciences student in the Bachelors degree program at Birla Institute of Technology and Science, Pilani. His hometown is Lucknow,Uttar Pradesh, India. This is his first time participating in GSoC.
Aniruddha’s project is Apply Numba Project Wide:
The aim of the project is to identify the possible bottlenecks in the code in order to speed up the overall code execution by applying numba project wide. Another part of this project is to vectorize the functions(specifically for stats and diagnostics) using xarray ufuncs to broadcast across xarrays.
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with NumFOCUS?
The variety of project types available under the Numfocus Umbrella
Why did you choose your specific project topic?
I had used ArviZ before for my college assignment and when I saw that it was offering projects for GsoC, I was elated.
How did you get involved in open source software?
Mainly because of my peers.The open source culture in my university is very prevalent.
What are you expecting or hoping to get out of your GSoC experience?
I aim to know more about open source and ArviZ.
What are your career goals? How do you see the GSoC program moving you towards them?
I primarily aim for job in Data Sciences and a this project is a great learning experience towards this goal.
“Really looking forward to work with my mentors this Summer.”
Ivan Yashchuk
Ivan Yashchuk is a Computational Mechanics student in the graduate program at Aalto University. His hometown is Lyantor, Western Siberia, Russia. This is his second time participating in GSoC with NumFOCUS!
Ivan’s project is Expand ChainerX Ops: Differentiable Linear Algebra:
This project aims at extending ChainerX capability for common numerical linear algebra routines.
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with Chainer?
GSoC is a wonderful opportunity to become involved in open-source development and learn the internals of interesting projects.
Why did you choose your specific project topic?
Numerical Linear Algebra routines such as in `numpy.linalg` form the basis for many algorithms in scientific computing. Making them available and make them differentiable in ChainerX would benefit not only Deep Learning practitioners but also attract non-DL users as well. For me personally, it means improving my skills in C++ programming and learning how to integrate external libraries with ChainerX.
How did you get involved in open source software?
Two years ago I participated in GSoC with FEniCS Project.
What are you expecting or hoping to get out of your GSoC experience?
ChainerX is a young project for nd-array and automatic differentiation in C++. I would like to take part in the early development of the library and help to convert a Python-based Deep Learning framework into a C++ one. I am looking forward to building relationships with ChainerX developers in Japan, that would be an invaluable experience for me.
What are your career goals? How do you see the GSoC program moving you towards them?
I’ve recently started PhD in inverse problems. So my goals are concentrated around building interesting and successful research. Differentiating numerical simulations is crucial in tasks like optimization and statistical inference. I will greatly benefit from the experience of extending ChainerX with calls to external programs and libraries for coupling numerical simulator with automatic differentiation.
Akshay Subramanian
Akshay Subramanian is a Materials Science and Engineering student in the Bachelors degree program at Indian Institute of Technology Roorkee. His hometown is Bangalore, Karnataka, India. This is his first time participating in GSoC.
Akshay’s project is Expand ChainerX Ops:
ChainerX is the next generation of the Chainer framework completely based in C++. It must therefore possess support for all Chainer routines and other important routines that have for instance, been defined in NumPy and SciPy. The project Expand ChainerX Ops aims to bridge this gap in routine definitions by implementation of the operations to ChainerX.
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with Chainer?
My interest lies mostly in the fields of deep learning and machine learning and their applications in science and mathematics. The organizations under NumFOCUS had projects which aligned with my interests.
Why did you choose your specific project topic?
I chose the project topic which I had most confidence in completing and which I felt had the steepest learning curve.
How did you get involved in open source software?
Other open source projects have been extremely helpful to me in the past. I felt that contributing to open source is probably the easiest way to help millions of people around the world while working from home.
What are you expecting or hoping to get out of your GSoC experience?
I hope the project I have chosen has a steep learning curve. Apart from this, I hope to learn to maintain world class software products and help others get easily acquainted with open source just as I could.
Rishav Chourasia is an Artificial Intelligence student in the graduate program at National University of Singapore. This is his first time participating in GSoC.
Rishav’s project is Extending Elichika & ch2o: Parsing jump statements and more:
The objective of this project is to extend support for parsing break, continue and pass statements in both Elichika and ch2o. Additionally, it also involves adding Elichika support for Chainer functions and links existing in ch2o but not in Elichika such as sigmoid, max_pooling_2d, BatchNormalization, etc.
Learn more about his progress on his GSoC student blog.
Why did you choose your specific project topic?
Prospects of working on a disruptive experimental compiler for Chainer that might potentially replace the framework’s backend is what moved me to apply.
How did you get involved in open source software?
I started out by fixing issues in libraries and tools I came across in general as I didn’t have free time to actively contribute. This changed this summer when I got an unusually long gap as I decided to go to a grad school in fall. I started sending pull requests to Optuna, a hyperparameter optimization framework by Preferred Networks. I came to know about GSoC project openings in Chainer organization (also started by Preferred Networks btw.) and applied for it.
What are you expecting or hoping to get out of your GSoC experience?
I am hoping to bond with the Chainer community and get into the habit of actively contributing to FOSS.
What are your career goals? How do you see the GSoC program moving you towards them?
I am starting my Ph.D. in AI at the National University of Singapore this fall and the GSoC experience will help in developing the aptitude for designing and implementing segments of large, highly optimized, low-level frameworks.
GSoC with CuPy
CuPy is an open-source matrix library accelerated with NVIDIA CUDA. It also uses CUDA-related libraries including cuBLAS, cuDNN, cuRand, cuSolver, cuSPARSE, cuFFT and NCCL to make full use of the GPU architecture.
Piyush Raikwar
Piyush Raikwar is an Information Technology student in the Bachelors degree program at Indian Institute of Information Technology and Management, Gwalior. His hometown is Amravati, Maharashtra, India. This is his first time participating in GSoC.
Piyush’s project is CuPy automatic fallback to NumPy:
I want to implement a “fallback mode” for CuPy. That is, whenever a function is called by the user that is not yet implemented in cupy, it will automatically call respective numpy function and get the result.
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with CuPy?
I love to code in Python. CuPy, a project under NumFOCUS umbrella provided me this chance to work on pure Python based project with a very interesting idea.
Why did you choose your specific project topic?
Even though I have been coding from past couple of years, it was just competitive programming and applying prebuilt Machine Learning models. My project with CuPy involves creating an out-of-the-box strategy with help from my mentors to build a fallback mode for CuPy, which is really exciting!
How did you get involved in open source software?
This is my first time contributing to an open source project. I got involved in open source while I was exploring really interesting ideas for GSoC.
What are you expecting or hoping to get out of your GSoC experience?
I am hoping to learn a lot of new and exciting things, great interaction with my mentors & community and a successful project.
What are your career goals? How do you see the GSoC program moving you towards them?
I am not sure about my career goals, maybe research in the domain of Artificial Intelligence. I want to work with creative ideas. My project in GSoC provides me this chance.
GSoC with Data Retriever
The Data Retriever is a package manager for data. It downloads, cleans, and stores publicly available data, so that analysts spend less time cleaning and managing data, and more time analyzing it.
Apoorva Pandey
Apoorva Pandey is a Computer Science student in the Bachelors degree program at Ajay Kumar Garg Engineering College. His hometown is Meerut, Uttar Pradesh, India. This is his second time participating in GSoC!
Apoorv’s project is Retriever Provenance:
This project aims to add provenance capabilities to Data Retriever so that it becomes easier to reproduce previous installations of a dataset at a later date.
Learn more about his progress on his GSoC student blog.
How did you get involved in open source software?
My open source journey started with fixing a bug in Mozilla’s addons-server.
GSoC with MDAnalysis
MDAnalysis is a Python library to analyze trajectories from molecular dynamics (MD) simulations.
Ninad Bhat
Ninad Bhat is a Materials Science student in the Bachelors + Masters Degree program at Indian Institute of Technology Bombay. His hometown is Mumbai, Maharashtra, India. This is his second time participating in GSoC!
Ninad’s project is Better Periodic Boundary Handling:
This project would involve defining wrapping and unwrapping functionality in the various AtomGroup methods which are based upon the position of particles, e.g., center of mass. Due to performance considerations, the functionality of these methods will also require translation into Cython.
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with MDAnalysis?
I have interested in contributing to MDAnalysis as I had some experience with molecular dynamics and am also currently using to for research.
Why did you choose your specific project topic?
I choose my project cause it would allow me to utilize my knowledge of molecular dynamics while also imporving my software development skills.
How did you get involved in open source software?
My first experience in Open Source Software was in 2016 when I started contributing to Balrog Mozilla.
What are you expecting or hoping to get out of your GSoC experience?
I aim to improve my software development skills while also getting a deeper understanding of molecular dynamics.
What are your career goals? How do you see the GSoC program moving you towards them?
I plan to do a PhD in the field of computational materials science after my masters. Have experience contributing to MDAnalysis will definitely be helpful to me in terms of improving my knowledge of molecular dynamics and also developing my programming skill which are an integral part of the research field.
GSoC with QuTiP
QuTiP is a software for simulating quantum systems. QuTiP aims to provide tools for user-friendly and efficient numerical simulations of open quantum systems.
Saumya Biswas
Saumya Biswas is a Physics student in the graduate program at University of Oregon. His hometown is Feni, Bangladesh. This is his first time participating in GSoC.
Saumya’s project is Development of Qutip Functions for analysis of Bosonic/Fermionic Lattices:
The following functionality is aimed at: Choice of Model (lattice dimensionality, Boson/Fermion, Hubbard, XXZ, Boundary conditions etc.). Non-interacting/Mean Field Models…
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with QuTiP?
The work is closely related to my research.
Why did you choose your specific project topic?
I have a professional curiosity in the topic.
How did you get involved in open source software?
I surfed through, studied some of the codes for my research.
What are you expecting or hoping to get out of your GSoC experience?
To develop a thorough understanding of the algorithms and problems.
What are your career goals? How do you see the GSoC program moving you towards them?
To make a career in academia. GSoC will help me learn and build connections simultaneously.
Boxi Li
Boxi Li is a Physics student at Swiss Federal Institute of Technology in Zurich. His hometown is Xuzhou, Jiangsu, China. This is his first time participating in GSoC.
Boxi Li’s project is QuTiP Project: Noise Models in QIP Module:
QuTiP is best known for solving open quantum system dynamics. At the same time, it also has a Quantum Information Processing (QIP) submodule representing ideal quantum circuits. A tempting ideal to combine them is introducing random noise into the circuit by linking the circuit back to the Hamiltonian driving the evolution of the qubits. This could then be used to study the possible noise occurring in the experiments and how it will influence the result.
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with QuTiP?
participating in open source software development closely related to my major
Why did you choose your specific project topic?
It is directly related to my learning direction
How did you get involved in open source software?
It is my first time contributing to open source
What are you expecting or hoping to get out of your GSoC experience?
Experience in development and related research area
What are your career goals? How do you see the GSoC program moving you towards them?
My interest lies in (Quantum) quantum computation and related physical simulation. I would like to work in the industry after completing my education. The project I choose is directly related.
GSoC with YellowBrick
Yellowbrick is a Python package that visualizes the data science workflow, allowing users to visually steer the feature, algorithm, and hyperparameter selection process by directly extending the Scikit-Learn API.
Naresh Bachwani
Naresh Bachwani is an Electronics and Communication Engineering student in the Bachelors degree program at National Institute of Technology Hamirpur. His hometown is Jaipur, Rajasthan, India. This is his first time participating in GSoC.
Naresh’s project is Effect Plot and PCA Visualizer:
As my Google Summer of Code project, I would like to propose building a new visualizer “Effect Plot” to help in interpreting linear model. Along with effect plots, secondary aim for the project would be to extend PCA visualizer by adding features like optional heatmap, colorbar, alpha params, and many other hyperparameters.
Learn more about his progress on his GSoC student blog.
What motivated you to apply for GSoC with YellowBrick?
I am an aspiring data scientist and I understand that visualizing data is an important aspect of building a successful machine learning model. With YellowBrick I want to help build tools which make this task easier.
Why did you choose your specific project topic?
I had a bit of experience in data science and when I came across YellowBrick I found it to be a perfect match! I will be working on effect plots and strengthening PCA Visualizer, both of which can prove useful for the application of machine learning models. The former helps in understanding the feature importance for linear models while the latter helps in reducing the dimensionality of data while retaining the trends.
How did you get involved in open source software?
This is my first experience of Open Source environment. I was introduced to it by my friend and have been working on it since then!
What are you expecting or hoping to get out of your GSoC experience?
I am expecting to have an awesome summer with my community and working on a large scale codebase seems to be a perk! I hope to make new friends and learn more about Open Source.
What are your career goals? How do you see the GSoC program moving you towards them?
I intend to pursue a career in data science. I also wish to contribute to Open source whenever I get a chance to! With GSoC, I would be able to learn from experienced professionals and understand Open Source better.