Skip to content

Instantly share code, notes, and snippets.

@parth-gr
Last active August 28, 2020 12:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parth-gr/92288bd946532cb072aab7e5153dcf20 to your computer and use it in GitHub Desktop.
Save parth-gr/92288bd946532cb072aab7e5153dcf20 to your computer and use it in GitHub Desktop.
Google Summer of Code 2020 — Parth Arora — moja global (under DIAL)

Google Summer of Code 2020 Final Work Product -

(This document contains a brief summary of all the work that I did as part of my Google Summer of Code 2020)

Student Parth Arora
Github @parth-gr
Organisation Moja Global (under the umbrella of organization DIAL)
Project Refactor FLINT Core Code Base
Mentors Guy, Mal

Related Links

Aim

Full Lands Integration Tool (FLINT) is an open source, modular tool that estimates greenhouse gas (GHG) emissions from land by modeling the flux of greenhouse gas on millions (or even billions) of land parcels. The project idea is to refactor the code base of the core software tool FLINT to speed up its processing. The code has to be hyper efficient as every microsecond too much is repeated millions of times.

Features Implemented

• Developed a performance measurement tool which works cross-platform which is useful to benchmark FLINT performance.

• Identified the bottlenecks and vulnerabilities and then troubleshooting them by finding the potential improvements .

• Worked on data layouts too by improvising custom allocators, object pooling, data oriented design techniques. And also choosing and implementing alternatives for the libraries used.

Work Flow

At starting I did the very basic step of installing the FLINT software, I get some difficulty in installing as the steps were not documented well so I provided documentation for the Installation process. Then after installing as a first step I worked on developing the Measurement Tool to know the code performance. This measurement tool can work cross-platform and which is useful to benchmark FLINT performance.

Then I worked on identifying the bottlenecks and vulnerabilities that I would find in the software FLINT by the help of measurement tool ,there are different models running by Flint such as Chapman Richards, RothC as they provide with a different type of data so worked on troubleshooting them.

Now the task is to choose the best alternative that would be used, So I did take some insights from my mentor and he suggested to try and test all the alternatives founded, so I did testing for the alternatives with the help of Measurement Tool that provided me with the best suitable alternative in terms of performance.

Then I have to implement them by replacing the current code, so Mal sir provided with a start to it to do the changes and then I have done the remaining changes to it.

Sustainability of the Project

Adding specific Tools and documentation for the new developers to test the alternatives that they will come across.

The End ?

I am very much thankful to my mentors for solving my problems throughout the journey, still I would say it's the end of GSoC'20 but not the end of my contributions towards the organization, As per discussion I will be mentoring the new developers who will be joining my project and also I will be contributing for the same for the improvements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment