Distributed nonlocal diffusion solver
Distributed C++ solver for a nonlocal heat equation, with dynamic load balancing.
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
- Pranav Gadikar, Patrick Diehl, Prashant K. Jha, Load Balancing for Distributed Nonlocal Models Within Asynchronous Many-Task Systems, 2021 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW), 2021.