My Google Summer of Code (GSoC 2025) Journey

I’m participating in Google Summer of Code 2025 working on the project titled Using Data-Driven, Physics-Informed Machine Learning to Model Fluid Properties in Computational Fluid Dynamics with the organization Stitching SU2. This page chronicles my weekly progress, challenges, and learnings throughout the program.

About My Project

This project proposes to enhance SU2’s CFD capabilities by optimizing the MLPCpp Neural Network module in the Non-Ideal Compressible Fluid Dynamics framework through performance improvements and better inverse regression, delivered via a tutorial and a code update with benchmarks.

Weekly Blog Posts

GSoC Week 5: The Hardware-Aware Mindset for High-Performance C++

5 minute read

Published:

Refactoring SU2 code taught me that nested std::vector<std::vector> scatters data across memory, leading to cache misses, while a flat std::vector creates a predictable layout that lets hardware prefetchers work efficiently. This simple change delivered notable performance gains and streamlined GPU interfacing and serialization.

GSoC Week 3: Profiling SU2 with Tracy

6 minute read

Published:

In this blog post, I explore integrating Tracy Profiler with SU2 for my Google Summer of Code project. I detail the setup of Tracy’s client and server, instrumenting functions, and leveraging its low-overhead, real-time visualization to optimize performance in SU2 simulations.

GSoC Week 2: Investigating Performance Bottlenecks in SU2

2 minute read

Published:

This post explores how I used gprof, valgrind, and kcachegrind to identify and analyze performance bottlenecks in SU2, focusing on the neural network module. The approach is generalizable to other large C++ projects.