Home Research software

Distributed nonlocal diffusion solver

Distributed C++ solver for a nonlocal heat equation, with dynamic load balancing.

Paper companion C++

A distributed solver for nonlocal diffusion, written to study a specific difficulty: nonlocal operators couple every point to a neighborhood rather than to its immediate neighbors, so a naive domain decomposition pays for far more communication than a local stencil would. The load on each rank then depends on how much of its neighborhood lies off-process.

Written in C++ on HPX. The work tests partitioning and load-balancing strategies that keep processors busy as the interaction radius grows, the same constraint that governs distributed peridynamics. A Google Summer of Code 2020 project, led by Pranav Gadikar with Patrick Diehl; the method and measurements are reported in Pranav Gadikar et al. (2021).

Publications