Projects
Most of my current work builds on one core: a GPU-first modeling and optimization framework, with applications layered on top of it.
CospanMDAO source release upcoming
A GPU-first differentiable modeling & optimization framework, inspired by NASA's OpenMDAO and named for the category-theoretic formalism for composing open systems. It is the core used to build every project below: composable components and systems, zero-copy connections, whole-model topological execution with first-class cycles, hand-written adjoints for gradient-based optimization, and runtime JIT kernel fusion — running cross-vendor via SYCL.
Lineage note: I spent six years building commercial optimization tooling on OpenMDAO. CospanMDAO is my answer to the question that work kept raising — what would this look like designed GPU-first?
Meshless Light Transport publication in preparation
Simulate the light once — then fly a camera through the frozen light field, from any angle, in real time. Light is solved as a transport process through the scene on unstructured point clouds — no rays, no shadow maps, no denoiser. Every effect is a corollary, not a feature: color bleed, soft shadows, caustics, Fresnel, and volumetrics all fall out of solving the radiative transfer equation, and display is plain rasterization reading a cached directional radiance field.
Live orbit, captured from the interactive viewer — lighting fidelity follows the camera at every distance and angle, from one cached solve. No re-render, no quality falloff on approach.
A single glass marble under a directional spotlight, wrapped in a bounded fog volume — staged to chain transport phenomena through one object: the overhead light refracts and converges through the marble, pooling as a caustic at its base; grazing-angle rim brightening emerges at the limb with no material logic in the display; interior structure reads with true depth parallax; the marble's shadow projects into the beam itself, not just onto surfaces. The neighboring stone sphere is lit by bounce alone — there is no ambient term anywhere.
Honest limitations: band-limited by design — finite angular resolution and node density low-pass the light field, so mirrors soften toward gloss and hard caustics toward pools. Softness is the failure mode; absence never is. Re-lighting or moving geometry requires re-simulation; camera movement never does.
The staging above — spotlight size, fog placement, the dimness — is an aesthetic choice layered on a physically-grounded solve; prettier-but-radiometrically-wrong configurations were rejected. An interactive in-browser demo is in the works. Full technical write-up and source to follow with publication.
Mycelium
A research program exploring a different point in the space of machine-learning architectures: a dynamical neural-field system in the Amari/Wilson–Cowan tradition, with persistent state that evolves continuously at inference time, trained with equilibrium methods rather than backpropagation through time.
Early results show a qualitative phase change — from degenerate output to varied, instance-specific behavior — including early evidence of write, backtrack, edit, and continue dynamics in its output buffers. It is young, ambitious, honest work; more when there is more to show.
Meshless LBM for 3D Acoustics
My M.S. research: a novel meshless lattice Boltzmann method built on nonlocal vector calculus — retaining the embarrassing parallelism of grid-based LBM on unstructured point clouds, applied to immersive 3D acoustic simulation for computer graphics. Cathedral-scale scenes (~4M nodes), moving sources and observers, Doppler and double-slit validation — on a single consumer GPU. The discretization generalizes to arbitrary PDEs, and is the direct ancestor of the light-transport work above.
MAAP — Modeling Advanced Aircraft Propulsion
A physics-based digital-twin suite for electric and hybrid-electric aircraft propulsion design, built on NASA's OpenMDAO. As principal software author I carried it from Matlab prototype through a full Python/OpenMDAO re-architecture to its 2021 commercial launch — cutting customer design-tradeoff studies from weeks to hours. It remains on the market today.
SlabKit & SYCLBuildKit
SlabKit: a SYCL USM memory-pool library — slab allocation, N-dimensional arrays, RAII, kernel-safe view semantics. SYCLBuildKit: relocatable conda toolchains for the AdaptiveCpp SYCL compiler (LLVM 20, all GPU backends) — write SYCL once, run on NVIDIA, AMD, Intel, or CPU.
Scalix
An earlier data-parallel compute framework (CUDA) that automatically scaled work across available devices — the proving ground for ideas that matured into the projects above. GitHub.