Software
Open tools for high-performance scientific computing
I build open-source software that lets researchers express complex mathematics at a high level while still using modern CPUs, GPUs, clusters, and cloud platforms effectively.
Python · DSL · Compiler
Devito
A symbolic finite-difference domain-specific language and just-in-time compiler. Devito turns high-level symbolic equations into optimized parallel code for CPUs and GPUs, supporting OpenMP, MPI, OpenACC, and heterogeneous systems.
Julia · Linear algebra · Inversion
JUDI
A matrix-free linear algebra framework for wave-equation-based inversion. JUDI combines a concise Julia interface with Devito’s optimized numerical kernels for scalable seismic and medical imaging workflows.
Scientific ecosystem
Research software built around real computational problems
JUDI4Cloud
Task-parallel wave-equation workloads on Azure Batch through a high-level Julia interface.
TimeProbeSeismic
Low-memory adjoint-state imaging using randomized trace estimation and probing methods.
PhotoAcoustic.jl
Differentiable photoacoustic simulation and inversion for physics-based machine learning workflows.
ImageGather
Surface and subsurface offset-gather tools for quality control of seismic inverted models.
pysegy
Lazy, header-aware SEGY access compatible with local storage, cloud object stores, fsspec, and Dask.
XConv
Memory-efficient convolutional layers for PyTorch and Flux using randomized gradient estimation.
SlimOptim
Julia implementations of optimization methods designed for costly PDE-constrained problems.
InvertibleNetworks.jl
Reversible neural-network components for memory-efficient training, variational inference, and normalizing flows.