I got selected in Google Summer of Code 2020 for a project under the Julia Language. My mentors for this project are Kanav Gupta, Chris Rackauckas and Samuel Issacson. I would like to thank them, Yingbo Ma in particular and the entire Julia community for providing support and helping me out with my naive queries in getting acquainted with the Julia language! I am really excited to be a part of this awesome community and learn more about Scientific Computing through Julia.

About the Project


My project is under SciML, titled Performance Enhancements and Optimisations for Differential Equation solvers. Here’s exercept from my project proposal [1] to make you understand on what I would be doing in the upcoming months:

DifferentialEquations.jl comprises of leading-edge methods for solving Differential Equations and an extensive benchmark suite written purely in Julia. Many methods have state-of-the-art performances, but still, some of them can be accelerated for high-performance returns. This project aims to maintain the same standards and improve benchmark performances of various solvers. In essence, the project will emphasize increasing the speed through iterative optimizations, bug fixes and improvements, reduce redundant memory allocation and improved benchmarking.

Conventionally, Stiff problems are considered to be the domain of Implicit-DiffEq solvers and Non-stiff problems are approached by explicit methods. We frequently encounter these problems in Engineering, For example the Van Der Pol Oscillator [2] in electrical circuits and Robertson equation [3] in Chemical Kinetics, hence its worth to work on solvers which gives best approximtions to their solution with compelling speed and accuracy.
My project focuses about improving our solvers to primarily address the use-case of stiff-differential equations. Thus improving our native implementation in Julia will improve our benchmarks comparing to other languages and platforms. We will focus primarily on BDF(Backward Differentiation Formula) methods and extrapolation methods. I am really excited to be a part of this and work on these trending fields which have plethora of applications.

I would be addressing particularly more about these methods and existing solvers and discuss about mathematical and performance aspect of it. Till then, happy coding!

References

[1]: Utkarsh, GSoC 2020 Project Proposal
[2]: https://en.wikipedia.org/wiki/Van_der_Pol_oscillator
[3]: Robertson Equation