GPU Performance Engineer, SIG (starting Sept 2026) · Ph.D. in Applied Mathematics
Numerical methods for partial differential equations and high-performance computing. Building scalable, high-performance kernels—now in industry.
About
I completed my Ph.D. in the Department of Mathematics at Virginia Tech in August 2026, advised by Daniel Appelö. My research focused on numerical methods for partial differential equations (PDEs) with an emphasis on high-performance computing (HPC), sitting at the intersection of algorithmic theory and scalable implementation. A central focus of my dissertation was the development of the WaveHoltz method for solving frequency-domain wave propagation problems. This included a general theory establishing convergence in the semi-discrete and fully discrete settings, alongside the design of computational strategies that are efficient on modern parallel architectures.
In September 2026, I’m joining SIG (Susquehanna International Group) as a GPU Performance Engineer, moving from academic research to low-latency, high-performance systems in industry.
I earned both my B.S. and M.S. in Applied Mathematics and Statistics from the Colorado School of Mines. During that time, I worked on a project using machine learning to enhance the value of hyperspectral data in geosciences, bridging lab-based and field data collection techniques. As a graduate student, I contributed to the MFEM finite element library, where I implemented a matrix-free interior penalty DG diffusion operator optimized for multi-GPU computing. I also collaborated with researchers at Lawrence Livermore National Laboratory on the GenDiL (Generic Discretization Library) project, which focuses on flexible, high-performance implementations of finite element methods in arbitrary dimensions.
Outside of research, I enjoy running, hiking, and traveling—not just to conferences. I’m an avid reader of fantasy novels and a fan of horror movies.
01 / Research
GPU and many-core distributed algorithms and implementations in C++, with a focus on low-latency kernels optimized for modern massively parallel hardware.
Finite element and finite difference methods, the WaveHoltz iteration for frequency-domain wave propagation, domain decomposition and low-rank methods, and scalable linear solvers.
02 / Publications
PhD Dissertation, Virginia Tech
The solution to the Helmholtz equation describes the spatial waveform of a time-harmonic wave and arises in acoustics, electromagnetism, and seismology. Its efficient numerical treatment makes engineering problems tractable but presents two central difficulties. First, the waves must be sufficiently resolved. Engineering problems often span hundreds to thousands of wavelengths, over which phase error accumulates, demanding many points per wavelength and yielding systems with millions to billions of degrees of freedom. Second, standard discretizations produce a complex-valued, highly indefinite linear system on which general-purpose iterative methods perform poorly or fail outright, making specialized methods for the equation a challenging, active research topic. This dissertation advances one such method: WaveHoltz, which relates the Helmholtz equation to its time-dependent counterpart, the wave equation. WaveHoltz evolves the wave equation and filters its solution over a short time interval to estimate the Helmholtz solution; this estimate is fed back as an initial condition, iteratively improving the estimate until convergence; this iteration can be accelerated by standard Krylov methods. On the theoretical side, convergence of the discrete iteration is established, the temporal error of the wave solve is eliminated, and WaveHoltz-HMM, a homogenization method with error estimates, is introduced. On the computational side, a high-performance GPU implementation combining multigrid-accelerated time stepping with massively parallel algorithms and a GPU-tailored domain decomposition approach made efficient by using WaveHoltz as a subdomain solver are presented. Altogether, WaveHoltz proves robust and efficient for solving the Helmholtz equation.
Journal of Computational Physics
Solving the Helmholtz equation with iterative methods is challenging because of its indefinite nature and highly oscillatory solutions. The WaveHoltz algorithm mitigates the difficulties of solving the Helmholtz equation by repeatedly solving the wave equation over short periods in time. In this paper, we prove that for stable semi-discretizations of the wave equation, the WaveHoltz iteration converges to an approximate solution of the corresponding frequency-domain problem, provided one exists. We present numerical examples in one and two dimensions using finite difference and discontinuous Galerkin discretizations illustrating these convergence results.
The Helmholtz equation governs wave propagation in acoustics, electromagnetics, and seismology, but its indefinite nature makes it difficult to solve with iterative methods. Domain decomposition methods are a natural fit for massively parallel architectures, yet mapping efficient Helmholtz solvers onto modern GPUs remains a challenge. We address both with two key contributions: (1) a block-level domain decomposition scheme, in which each subdomain is assigned to a single thread block and all solves run concurrently in a single kernel launch, and (2) WaveHoltz as the subdomain solver. WaveHoltz is a fixed-point iteration that is uniquely well-suited to the GPU execution model due to its minimal memory footprint and no reduction operations. Together, these eliminate device-level synchronizations and replace global memory traffic with shared memory and register-level operations, keeping subdomain data largely resident in L1 and L2 cache. We explore two threading strategies: one degree of freedom per thread for small subdomains, and multiple degrees of freedom per thread for larger ones. Benchmarks of our CUDA based implementation on a NVIDIA A100 show that WaveHoltz achieves 2x-25x speedup over MINRES, with the advantage growing with subdomain size. Crucially, evaluating the subdomain solver in single rather than double precision yields an additional 2x-10x speedup--a benefit largely unattainable by MINRES due to loss of Krylov vector orthogonality under reduced precision.
We consider the numerical solution of the wave equation in materials with rapidly varying coefficients and time-harmonic sources. We combine a finite difference Heterogeneous Multiscale Method for the wave equation with the WaveHoltz method, where each WaveHoltz iteration marches the wave equation toward the time-periodic Helmholtz solution. The method inherits key WaveHoltz advantages for multiscale frequency-domain problems and avoids artificial boundary conditions in micro-scale problems, eliminating associated boundary errors in the homogenized solution.
Journal of Non-Newtonian Fluid Mechanics
We present a method for speeding up equilibrium simulations of liquid crystals for two related models that are degenerate with respect to defects: the Ericksen model and the uniaxially constrained Landau-de Gennes model. The degeneracy induces a nonlinear, non-smooth coupling between the two order parameters in both models that makes the discrete problems very stiff to solve. The technique described in this paper uses an alternating Schwarz domain decomposition method that isolates the degenerate region, alleviates some of the stiffness, and is easy to implement. We present numerical results illustrating the speed-up and how it is affected by the size of the subdomains and the number of subiterations used within the degenerate region.
Geosciences
Understanding the mineralogy and geochemistry of the subsurface is key when assessing and exploring for mineral deposits. To achieve this goal, rapid acquisition and accurate interpretation of drill core data are essential. Hyperspectral shortwave infrared imaging is a rapid and non-destructive analytical method widely used in the minerals industry to map minerals with diagnostic features in core samples. In this paper, we present an automated method to interpret hyperspectral shortwave infrared data on drill core to decipher major felsic rock-forming minerals using supervised machine learning techniques for processing, masking, and extracting mineralogical and textural information. This study utilizes a co-registered training dataset that integrates hyperspectral data with quantitative scanning electron microscopy data instead of spectrum matching using a spectral library. Our methodology overcomes previous limitations in hyperspectral data interpretation for the full mineralogy (i.e., quartz and feldspar) caused by the need to identify spectral features of minerals; in particular, it detects the presence of minerals that are considered invisible in traditional shortwave infrared hyperspectral analysis.
03 / Software
Domain decomposition solver for the Helmholtz equation in two and three dimensions implemented in CUDA.
Header-only C++ library providing flexible and efficient PDE discretization tools through a generic programming approach. High-performance FEM in arbitrary dimensions.
Modular parallel C++ library for finite element methods, enabling high-performance scalable FEM research and application development across laptop to supercomputer.
Discontinuous Galerkin implementation of the acoustic wave equation and other hyperbolic conservation laws.
Single-header C++ template library for structuring contiguous arrays into compile-time ranked tensor objects, similar to NumPy's ndarray.
A collection of numerical methods ranging from nonlinear optimization and ODE solvers to neural networks. Written as a personal undergraduate project.