ABOUT / RESEARCHER PROFILE

ABOUT / RESEARCHER PROFILE

I work at the intersection of computer engineering, scientific computing, and systems programming. I am interested in how software architecture can make numerical codes easier to understand, verify, and prepare for parallel execution.

My broader interests include task-based parallelism, heterogeneous and distributed computing, and performance optimization. I have also studied portable parallel kernels with Kokkos, CUDA, MPI, OpenMP, and SLURM, and benchmarked scientific workloads on the Toubkal HPC supercomputer.

  • Modern C++
  • MPI / OpenMP
  • Kokkos / CUDA
  • SLURM / CMake
  • Numerical methods
  • Software architecture
01 / UNDERSTAND

Start with the science.

Understand the physical models, numerical assumptions, and behavior of the existing code.

02 / STRUCTURE

Make the boundaries clear.

Use software architecture to separate concerns and make scientific code easier to reason about.

03 / VERIFY

Preserve what matters.

Keep numerical correctness and validation central as the software evolves.