Research · Jülich Supercomputing Centre · 2026
Adaptive Trees on a GPU
The Fast Multipole Method needs a spatial hierarchy over the particles. Dense trees waste work and memory on empty space; pointer-based sparse trees waste GPU efficiency. This project builds adaptive octrees and binary trees that sit between the two, represented as sorted arrays of space-filling-curve keys so every step is a bulk parallel primitive. Guest Student Programme 2026, August to October.
Explore the trees in 3D
All particles start in a thin disc; the rest of the domain stays coarse. 512,002 particles
vtk.js scene, about 3–4 MB · drag to rotate, scroll to zoom
My contribution
- Adaptive octrees and binary (KDTree3D) trees in C++/CUDA on the Cornerstone representation: sorted Morton keys and leaf boundaries.
- NFCount: refinement driven by the expected near-field work of a leaf and its neighbours, not by particle count alone.
- TreeView: reconstructs the internal FMM hierarchy directly from the leaves in a few parallel passes, without pointers or host readback.
- GPU optimisations: cooperative stencil evaluation, caching and compaction, fixed-capacity buffers, overlapping streams and CUDA Graphs.
Results
- Tree update and hierarchy construction up to 2.4× faster than Cornerstone (baseline).
- Complete FMM execution up to 4.8× faster than with a dense tree.