You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Umbrella for everything that makes a CartesianGrid operator run across more than one device or node. MDLA (single-node multi-GPU, CUDA-only) is done behind the _dist_scatter! / _dist_reduce! seam; what remains is the API to choose a backend, the multi-node backend itself, the tests that prove ≥3 partitions, and one perf gap on the slab transpose.
_dist_reduce! must remain the exact transpose of _dist_scatter! across ranks, including the ∂/∂κ scatter-add — this is the part with no equivalent in the IGG/ParallelStencil ecosystem.
One halo exchange per operator application; coefficient exchanges belong at prepare time.
No new core dependency: MPI/IGG live in ext/.
🤖 Beep boop — Claude drew the org chart; Kyle is not delegating to himself.
Umbrella for everything that makes a
CartesianGridoperator run across more than one device or node. MDLA (single-node multi-GPU, CUDA-only) is done behind the_dist_scatter!/_dist_reduce!seam; what remains is the API to choose a backend, the multi-node backend itself, the tests that prove ≥3 partitions, and one perf gap on the slab transpose.Sub-issues, in order
AbstractDistributedBackend,MDLABackend,IGGBackend), mirroringAbstractJVPBackend. First: it is the entry point feat(distributed): ImplicitGlobalGrid halo backend for multi-node CartesianGrid #46 must implement against, and today a second extension definingprepare_distributed(::AbstractOperator, ::Integer)would be ambiguous.Interfaceghosts) and, from perf(algebra): constant-fold affine time-step operators (α·I + β·Laplacian) into one stencil pass #52, the comm/compute overlap idea: launch the interior stencil, run_exchange_storage!concurrently, then finish the boundary strips. Overlap is not to be built before a blocking exchange is measured.test/multigpu(≥3-GPU distributed tests). Upstream blockers cleared; also lifts themin(NGPUS_MDLA, 2)caps intest/mdla_gpu.jl.Diffusionadjoint runs the generic masked gather at ~5.7× the forward stencil. Becomes a per-iteration cost the moment distributed reverse-mode AD lands.Invariants that bind every sub-issue
_dist_reduce!must remain the exact transpose of_dist_scatter!across ranks, including the∂/∂κscatter-add — this is the part with no equivalent in the IGG/ParallelStencil ecosystem.preparetime.ext/.🤖 Beep boop — Claude drew the org chart; Kyle is not delegating to himself.