Iβm a Research Software Engineer specializing in Computational Fluid Dynamics (CFD), high-performance computing (HPC), and GPU programming.
I develop high-performance finite-volume CFD software for heterogeneous CPU/GPU systems using modern C++ and CUDA. My work focuses on numerical algorithms, GPU optimization, performance profiling, and maintainable scientific software for large-scale simulations.
- π± Currently learning: modern C++20 software architecture and scalable scientific software design
- π Programming Languages: C++ (primary), CUDA (primary), Python (scripting and data analysis)
- π« How to reach me: wangchihta@gmail.com
Open-source performance-portable finite-volume CFD framework in modern C++, built on NeoN and designed for efficient execution of the same fluid-flow solvers on CPUs and GPUs.
My contributions include:
- Integrating Kokkos Tools for GPU profiling and debugging
- Profiling finite-volume CFD solvers on representative industrial-scale cases to guide performance optimization
- Establishing continuous integration workflows on NVIDIA and AMD GPUs
- Enhancing documentation
- Currently developing a mesh reordering framework for finite-volume CFD solvers to improve memory locality and solver performance on GPU
Open-source high-performance C++ library for finite-volume CFD providing data structures, parallel algorithms, and solver infrastructure with Kokkos and Ginkgo.
My contributions include:
- Improving solver infrastructure and type consistency
- Implementing uniform mesh generators
- Establishing continuous integration workflows on NVIDIA and AMD GPUs
- Enhancing documentation
Developed GPU implementations of the population balance equation solver within OpenFOAM for simulations of polydisperse multiphase flows.
Highlights:
- GPU-oriented numerical implementation
- Performance profiling and optimization
- Benchmarking and scalability analysis
- The optimized implementation achieved ~4Γ speedup over a previously published GPU implementation
Developed a standalone CUDA C++ research prototype to investigate how mesh reordering and GPU kernel design and execution strategies influence matrix assembly performance on GPU
Highlights:
- GPU-based implementation
- GPU acceleration of both matrix assembly and linear solve
- Custom mesh ordering
- Alternative GPU kernel designs for matrix assembly