HorneSci

Use case 1 of 4 ยท Simulation

Grid simulation, where only a small region changes each step

A time-stepped simulation on a fixed grid updates a stencil at every cell, every step. Often only a small patch changes, such as a moving source, a front, or a localized boundary. Delta Routing recomputes the cells that changed and keeps the rest from the previous step.

Server racks in a data center, where simulations run step after step.

What was measured

Five-point stencil on a 512 by 512 grid, 200 steps. Each step changes a square patch of the interior. The baseline evaluates the full grid every step, in the same process.

Speed against a full-grid recompute, three runs
Cells changed per stepDelta Routing vs full recomputeReusing the schedule vs rebuilding it
0.1%38.7 to 39.6 times faster2.32 to 2.44 times faster
6.3%1.6 to 1.7 times faster1.66 to 1.73 times faster
25.2%Full recompute is faster1.66 to 1.70 times faster

Final states agree with the full recompute to a residual of 9.2 times 10 to the minus 15 at most.

Conditions

  • Host: Intel Core i7-1165G7, one pinned core, performance governor, turbo disabled.
  • Build: g++ 13.3.0, -O3 -march=native, Linux 6.8.0-138.
  • Baseline: full five-point stencil evaluation every step. The schedule-rebuild arm separates the gain from reusing the schedule from the gain from changing the arithmetic.
  • Changes: a square patch of the interior changes each step, with 1e-3 added to every patch entry. The percentages are of the 510 by 510 interior.
  • Scope: a standalone probe with synthetic changes. It has not been run on a production grid model.

Where this applies

Use Delta Routing when a stencil or fixed operator is applied many times, and the change in each step touches a small, clustered part of the grid. The update measured faster at 0.1% and 6.3% of the grid changed, and full recompute measured faster at 25.2%. The point between them has not been measured, so the assessment measures it on your grid.

Next step

Send one step of your simulation, or a trace of which cells change per step. We run it on your machine against your current code and report the measured result. Start an assessment.

HorneSci