Google Summer of Code sun imageNumFOCUS is proud to introduce our Google Summer of Code (GSoC) 2018 students to the community. 

This year there are 47 students participating under the NumFOCUS umbrella! The projects they will be working on include:

  • Cantera
  • Conda Forge
  • Data Retriever
  • FEniCS
  • Gensim
  • Julia
  • MDAnalysis
  • PyMC3
  • Shogun
  • yt

We also have three other sponsored projects who are independently participating in GSoC:

  • Astropy
  • SunPy
  • SymPy

About GSoC

NumFOCUS has participated as an umbrella organization for Google Summer of Code since 2015. Google Summer of Code sponsors students to work full-time for 3 months on open source projects during the summer (in the northern hemisphere), supervised by a senior contributor from the mentoring organization.

This is the first in a series of blogs to introduce our GSoC students to the community.

In this first post, we’re pleased to introduce students working on the following projects:

Cantera, FEniCS, PyMC3, Shogun, yt

Yuanjie Jiang

Cantera

Implement a Plug Flow Reactor Model with Surface Chemistry

Link to Project Description

Link to Project Blog

College/University: University of California, San Diego

Major/Concentration: Mechanical and Aerospace Engineering

Degree Program: Graduate degree

Hometown: Anqing, Anhui, China

How many times have you participated in Google Summer of Code? This is my first time participating in GSoC

What motivated you to apply for GSoC with NumFOCUS?Cantera logo

My research mainly focuses on the experimental and computational study of laminar counterflow combustion. As we know, there are many commercial softwares for simulation uses, such as Chemkin, Flamemaster, OpenSmoke, etc. Cantera as a newly developed package with highly accurate simulation results is known and utilized by more and more people, therefore my advisor suggests me to learn Cantera to do some simulations. Actually it gives us good results and we can understand how we get these results better than the previous commercial softwares. I have been using cantera package around 1 year, and mastered the basic use of Cantera. I wish to learn Cantera better and also contribute to this open source. Since Cantera is under the NumFOCUS umbrella, I applied for GSoC with NumFOCUS.

Why did you choose your specific project topic?

This topic needs not only programing skills, but fluid mechanics and combustion knowledge. I have learned graduate level Fluid Mechanics series at UCSD with great grades, and taken Heat/Mass/Radiative Transfer and Combustion with A/A+ grade. Furthermore, I have learned C++ during my undergraduate study. Besides, currently I am doing a project which funded by Siemens. In the current stage, we are still investigating the reduced mechanism of NH3/H2/N2 combustion. But in the next stage, we will do some simulation for internal turbine simulation, this project will really help my further Ph.D. study.

How did you get involved in open source software?

There is a Cantera Group online for discussing the problem people encountered in their coding, I always post questions and answer questions via this group. This communication helps me to learn Cantera open source software better, and I can contribute to this software as well.

What are you expecting out of your GSoC experience?

My expectations are listed as follows:
1) Establish a good friendship with my mentors.
2) Arrange my time more efficiently.
3) Form a new habit — writing a blog every two weeks.

What are your career goals, and how do you see the GSoC program moving you towards them?

My career goal is to be a combustion/thermal engineer, mainly focuses on the combustion/thermal analysis for the internal engine combustion. GSoC program can help me understand more about the software functionalities, and help me to customize my own simulation code for further use.

Fabian Löschner

FEniCS

Maximizing performance on modern architectures with data-level parallelism

Link to Project Description

Link to Project Blog

College/University: RWTH Aachen University

Major/Concentration:Computational Engineering Science

Degree Program: Masters 

Hometown: Aachen, Germany

How many times have you participated in Google Summer of Code? This is my first time participating in GSoC

What motivated you to apply for GSoC with NumFOCUS?

Most people use open source software on a daily basis. You probably caught yourself taking their updates for granted or complaining about missing features (at least I did). For me however, the hurdle to get to know a project to start contributing always seemed to be too high. Therefore, I was quite excited to see that NumFOCUS regularly participates in GSoC. All NumFOCUS projects are used by large communities of students and scientist who can benefit from new features and improvements.

The FEniCS project in particular is based on knowledge from several fields that are covered by my study program. A basic understanding of the mathematical background (partial differential equations and finite element methods) as well as knowledge in computer science are essential for working on FEniCS. This makes the introduction to the project much easier for me, as software development for science and engineering applications is a central aspect of my study program. Additionally it gives me the possibility to gain more practical experience in these areas. I’m excited to be finally able to contribute to an open source project.

Why did you choose your specific project topic?

Even though computing resources tend to get cheaper, low level performance optimizations are still important for scientific computing where the runtime of a problem may span several days. In case of FEniCS, performance critical sections (computation of element level tensors and global assembly) currently do not take advantage SIMD (single instruction multiple data) vectorization capabilities of modern CPUs. Considering results from other finite element frameworks, a significant performance boost can be expected depending on the problem solved by the framework. As this could benefit all users of FEniCS I’m excited to implement these optimizations and to contribute my own ideas. Furthermore, I worked on performance optimization in several student research assistant jobs and university projects with commercial software (such as Intel Parallel Studio and Visual Studio) and I’m interested in learning how the open source community approaches these problems.

What are you expecting out of your GSoC experience?

First of all I’m keen to get involved with the NumFOCUS open source community. My goal is to be of great help in improving free software that is used for scientific research. At the same time I hope to learn a lot about the tools used in larger projects and the effort required to organize the development process. Especially because most of the development of FEniCS happens remotely, I expect to get insight on how to coordinate this efficiently. Furthermore, I plan to do a PhD after finishing my Master’s. I think that this project is going to help me narrowing down the specific area of research for the PhD. I’m looking forward to make new contacts that may help me find an opportunity for this.

Agustina Arroyuelo

PyMC3

Module for Approximate Bayesian Computation

Link to Project Description

Link to Project Blog

College/University: Universidad Nacional de San Luis

Major/Concentration: Bioinformatics

Degree Program: Graduate degree

Hometown: San Luis cap., San Luis, Argentina

How many times have you participated in Google Summer of Code? This is my first time participating in GSoC

What motivated you to apply for GSoC with NumFOCUS?

The chance to contribute code to an open source library that I use everyday in my research.

Why did you choose your specific project topic?

Because bayesian statistics and probabilistic programming is very close to my field of research.

How did you get involved in open source software?

Firstly, only as a user, and later fixing some beginner friendly issues.

What are you expecting out of your GSoC experience?

To learn all about participating in an open source project and make contributions that other users would find useful/helpful.

Sharan Yalburgi

PyMC3

Alternative computational engines for PyMC3

Link to Project Description

Link to Project Blog

College/University: BITS Pilani, Goa Campus

Major/Concentration: Mathematics and Computer Science