GSoC Week 5: The Hardware-Aware Mindset for High-Performance C++
Published:
Refactoring SU2 code taught me that nested std::vector<std::vector
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.
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.
Published:
Refactoring SU2 code taught me that nested std::vector<std::vector
Published:
Integrating optional third-party libraries into large C++ projects can be tricky. This post outlines a clean, maintainable approach using conditional compilation, with a case study based on adding the Tracy profiler to SU2 during Google Summer of Code.
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.
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.
Published:
A step-by-step guide for beginners to set up a modern development environment for contributing to large open-source C++ projects using GitHub, VS Code, GDB, and gprof.
Published:
Week 0 of GSoC: Community Bonding, Setting Up the SU2 Development Environment, and Exploring the Codebase