embedded3: the cut mask's imposition and the device surface-velocity tables restricted to a 4-cell band (deeper prescribed faces are never read; the surface velocity was the moving step's cost); the operator rebuild counted in the rebuild share
CI / Clippy Check (push) Failing after 3s
CI / Format Check (push) Failing after 4s
CI / Build (ubuntu-latest) (push) Failing after 5s
Documentation / Build API Documentation (push) Failing after 1m0s
Performance Benchmarks / Run Benchmarks (push) Failing after 5s
Documentation / Build User Guide (push) Successful in 7s
CI / Build CPU-Only (Explicit) (push) Failing after 58s
CI / Build (macos-latest) (push) Canceled after 0s
CI / Test (macos-latest) (push) Canceled after 0s
CI / Test (ubuntu-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (macos-latest) (push) Canceled after 0s
CI / Python Bindings (maturin) (ubuntu-latest) (push) Canceled after 0s
CI / WASM Build + Size Check (push) Canceled after 0s
CI / Distributed Training Tests (push) Canceled after 0s
CI / CI Success (push) Canceled after 0s

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
Omar Sobh
2026-09-17 19:33:33 -05:00
co-authored by Claude Fable 5.1
parent c30e3dba34
commit aca77fe1ac
3 changed files with 39 additions and 6 deletions
@@ -323,6 +323,10 @@ extern "C" __global__ void e3_cut_impose(E3Params g, E3Ptrs f, E3Cut m, int c)
if (c == 2) { if (g.periodic_z) { if (k == g.nz) return; } else if (k == 0 || k == g.nz) return; }
const int* open = c == 0 ? m.open_u : (c == 1 ? m.open_v : m.open_w);
if (open[t]) return;
/* only within the imposition band (host `impose`: 4 cells) */
const double* dist = c == 0 ? m.d_u : (c == 1 ? m.d_v : m.d_w);
double h_min = fmin(fmin(g.dx, g.dy), g.dz);
if (fabs(dist[t]) > 4.0 * h_min) return;
const double* ubt = c == 0 ? m.ub_u : (c == 1 ? m.ub_v : m.ub_w);
double* out = c == 0 ? f.u : (c == 1 ? f.v : f.w);
out[t] = ubt[t];