Moja global: Refactor FLINT Core Code Base

Hello everyone, my name is Parth Arora, GSoC’20 student @project-mojaglobal.
During the summer of code period, I will be working on the project “Refactor FLINT Core Code Base”.
I will be using this topic for my weekly blog post updates regarding my project.
Excited to work on this project. :slightly_smiling_face:


Week 1 of GSoC’20:

Community Bounding Begins!
First of all, things started by having a video conference call(by @Guy Sir ). It was a great meeting with all the directors, mentors and my colleagues :family_man_man_boy_boy:, they give the great introduction of the community and also how the community works, Knowing about how FLINT works and how it helps to reduce emission in the environment, was something that touched my heart and makes me more energetic to contribute towards the organization. :heavy_heart_exclamation:

Fist Task:
The task was to decide the best platform to post our weekly and monthly deliverables and to communicate your plans and progress.
It was a great discussion with @abhi211199, @abhineet97 and @sulay15399 about deciding the platform.
We were able to arrive at a solution and submitted our first deliverable!

Looking forward to the journey ahead and working with @mfrancis ! :slightly_smiling_face:


This is the result of the stand-up for this week.

Last week was successful. The students decided where and how to post their work. We will post weekly blogs here and on a specially created repo on our GitHub. We will also use GitHub to post our workplan and progress for each item. We will have weekly deliverables (issues) that will be resolved.

This week, the focus will be on getting a workplan in place by the end of the week. This will require close communication between the student and the mentor. We are still figuring out how it will work precisely.

The challenge this week will clearly be to get the communication to work. There is some reluctance on the side of the students to get the attention of the mentors. They should be not hesitate to get attention for their queries. If necessary they can use other channels of communication or ask other mentors or admins to assist.

But overall we are off on a great start. Looking forward to the workplans!

1 Like

[Community Bonding Period] Week 2:

Task: Project Plan

I have published my Project Plan here.
And meanwhile communicating with my mentor @mfrancis sir, to review and give the feedback, got positive feedback from him. :slightly_smiling_face:
And now discussing on the requirement analysis(Technology Stack) with the mentor and getting them finalised and approved. :innocent:

And at the weekends, I will install the Example version of the project, so by this the I can easily understand the basic of the software and can install the main version of it next week.


I really like your workplan. Excellent work.
I hope you will manage to install the example this weekend and get the whole package working next week. And then the real work can start.
Nice to see you got moving so quickly. Thx


[Community Bonding Period] Week 3:

Community Bonding Continues
In this week we had a group video call. It was a crucial one where all the team members were asked for their opinions on what’s going well and what needs work.
We identified that Moja global’s documentation needs work and communication medium (Slack) is great.

Apart from that, my task was to install the FLINT version on my computer, with a proper build environment. I started it installed all the dependencies, all working fine.
But during the collaboration of all, I got some error in the Docker part because of some memory and Ram issue, I will reinstall the stuff and try to complete the installation part at the end of this week.
Apart from that this week I come across a challenge, On the way of installation I got a challenge from Google the challenge(its secret google hiring challenge) so I spent time on doing this too.


So much great news and nice progress this week. Thank you for offering to document the installation process. This would really help us a lot. We know that it can get complicated to set up everything correctly. I know you had a small problem but you that is way, way, way better than the average. So super well done.
But I am really impressed that you can be addicted to TV series, do a good job and take part in a challenge. :star_struck:
I hope you get hired by Google!


[Community Bonding Period] Week 4:

I have shared a second document with my mentor @mfrancis so to discuss what I plan to do, what all parameters I am considering, so to be transparent and make all doubt clear.Link

I have also Represent the information structure of software through Wireframe, I will be making it a bit neater while I will be proceeding (for document purpose), but now the point is to clear the transparency between me and my mentor.

Further, this weekend I will be contributing towards the document.


1 Like

Hi Parth,
I think you completed the Bonding Period exceeding our expectations. I know that agreeing on what precisely needs doing is half of the work. So I think you are well on your way to make this a successful GSoC. We are looking forward to working on the code with you.

1 Like

Week 5 of GSoC’20
GSoC’20: Week-1 of Coding Period

Starting with Monday, I got the PR merged of the documentation: Steps to build the Software Environment :slightly_smiling_face:.

After that, I have started with my task for building up the Performance Checker, but after that @mfellows sir quoted to me, not focus too much on building a custom performance monitoring application and apart from it use a profiling tool, then I also realised that making performance checker will be waste of time, so I just followed it and research over finding the application and founded the Visual Studio Performance and Diagnostics Hub will be best tool suited for the work.

Now , I started working the simulation part and checking the performance of the software, but for that I needed to first explore the dependencies and modules that are in the project so just working on it, and also asked @mfrancis sir my mentor to give some insights on it.

Apart from that I just tested application randomly after reading about the Diagnostic tool.
I founded its working and will be sufficient for the need.

1 Like

Good job finding the performance measurement tool. If it meets our needs we have saved a lot of time that we can use to make the core code of FLINT faster. So well done!
Keep testing the tool but try to move to actual FLINT code as soon as possible. That is where the real progress can be made.
Your project is the most challenging in terms of software. But you are proving you can do it. Very impressive. So keep up the good work.

1 Like

Week 6 of GSoC’20

GSoC’20: Week-2 of Coding Period

I was working on measuring the performance of the software by having a base benchmark(baseline) of it. I did some measurement with visual studio debugger but didn’t help that much, its just use to help in debugging the errors.
So I tried working and making a header file which can measure the Performance by function to function, and I was able to write and compile it, later I also get some insights to show the performance visually by chrome://tracing/, it just need a JSON input to store the things visually, so I did this.

I think this will be very much good to measure the performance and also I set up the benchmark by this of the software and even can store performance measured for the future.

And I tried running it with the main Flint project, and it works fine.
Here the visuall content of moja.cpp file, the file which loads/run the hole flint software (as it is with main() function).

1 Like

Hi Parth,
Excellent work. I think that your blog is not expressing enough how useful the measurement approach is you have proposed. Congrats on the work. If further tests work you are set to move from performance measurement to performance improvement. Top class. Thanks for your contribution.

1 Like

Week 7 of GSoC’20

GSoC’20: Week-3 of Coding Period

I started this week by adding some features to the Performance application by which it can be more useful(on-off feature), suggested by @mfrancis sir.

And then on Wednesday we also had one of our regular GSoC group video calls.

And then I was working on figuring out the improvement, and also learning few to the advance concepts that are used, I hope in this weekends I will reach out to some of the improvements for the software.

1 Like

Good progress Parth! As the first period of coding comes to an end, I can say that you are on track and I only hear positive feedback. Keep going!

1 Like

GSoC’20: Week-4 of Coding Period

This week I was figuring out the core project for the improvements, but the process of finding is very tedious but I was able to go with a path :innocent:.

I stated few of the timespans of the modules which I feel that are not much perfect for the software, like the first time the software might take 25% more run-time than by other, and the log files are taking 35% of the time to process, which is not good for the software.

But I think the main goal of processing will come under the stress performance testing where we put different sets of databases(small-large), which will able to judge which kind of process takes more time, So this week I also head over to learn few of those things, like how our software is using it, Still, it will take time but the output or final result will be great/helpful.

And this weekend I will be submitting the PR with completing the Performance checker/Profiler with its documentation(adding proper comments to the module).
And also suggesting more improvements.

And I also managed to solve various bugs this week :sweat_smile:.

1 Like

GSoC’20: Week-5 of Coding Period

This week I was figuring out the core project for the improvements and I was able to go with the path :innocent:.

This week I Submitted GSoC evaluation.

And then worked upon finding more Vulnerabilities, as Deliverable of this last phase will be informing areas to target for improvement basically the core simulator for making the changes like Changes in Data Layouts.

And hopefully, I get selected and enjoyed and relaxed this weekend and I hope I will be giving a better amount and quality of work in the upcoming time :grinning:.

1 Like

Hi Parth,
You past the first period! Congrats. Well done!
Very exciting that you are working on finding vulnerabilities. I know we are all still suffering as a result of COVID-19 and I admire that you keep working.
You are working on an important task, so thank you for your commitment.

1 Like

GSoC’20 : Week-6 of Coding Period

Firstly, I would like to thank all my mentors, specially @guy sir and @mfrancis sir for believing in me and encouraging my work throughout the first phase of GSoC’20. :partying_face:

This week’s work

This week, I started working on the changes that can be made on the Data Layout within the Core Simulator, there were few of the topics like custom allocators, object pooling, data-oriented design techniques which can help to make the improvement, so I started learning it in-depth and also analysing the way I can add improvements to the software, and in upcoming weekends I am going to implement and give suggestion to things that can be improved.

And It’s great to know that moja global is publishing our work in their website and how one or the other way, our work is going to help other developers and FLINT’s users in curbing the environmental pollution. :slightly_smiling_face:


Hi Parth,
Please keep going on this steep learning curve. I am sure you will find interesting ways to speed up FLINT processing.
This is the real thing!

1 Like