Filipe Maia is a Professor at Uppsala University with 19 years of experience at the intersection of X-ray diffractive imaging and scientific computing, combining deep academic research with hands-on high-performance code optimization. His career spans PhD work on ill-conditioned inverse problems and image reconstruction for X-ray scattering to a petascale postdoc at Lawrence Berkeley National Lab focused on GPU acceleration. He is an active back-end open-source contributor to prominent GPU and parallel C++ projects (ArrayFire, Thrust, CUSP), where he added robust complex-number support and GPU-aware optimizations that improved numerical capabilities across CUDA, CPU and OpenCL backends. Based in Uppsala, he brings a rare blend of experimental physics insight and low-level software engineering, frequently translating advanced mathematical models into production-ready, high-performance implementations. An underappreciated strength is his sustained commitment to portability and numerical correctness across heterogeneous compute platforms.
19 years of coding experience
8 years of employment as a software developer
Doctor of Philosophy (Ph.D.), Physics, Doctor of Philosophy (Ph.D.), Physics at Uppsala universitet
Licentiate degree, Biochemistry, Licentiate degree, Biochemistry at Universidade do Porto
[ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl
Role in this project:
Back-end Developer
Contributions:68 commits, 6 comments in 6 months
Contributions summary:Filipe primarily focused on implementing and improving complex number functionality within the Thrust library. Their contributions included adding support for complex number arithmetic, transcendental functions such as exp, log, cos, sin, tan, cosh, sinh, tanh, acos, asin, atan, acosh, asinh, and atanh, and their implementations. Furthermore, the user contributed by implementing optimizations and adjustments to existing functions related to complex numbers.
Contributions summary:Filipe primarily contributed to the development of a C++ templated sparse matrix library, CUSP. Their work focused on extending the library's capabilities by introducing complex number support. This involved defining a complex number structure, implementing arithmetic and transcendental operators, and integrating with CUDA for GPU acceleration, as indicated by the addition of `__host__` and `__device__` annotations. Furthermore, the user added inverse trigonometric functions and matrix market I/O for complex matrices.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.