embedded3 R6-1: the body's φ and the cut geometry on the device (RTX_E3_GEOM_DEVICE=1)
CI / Format Check (push) Failing after 5s
Performance Benchmarks / Run Benchmarks (push) Failing after 5s
CI / Build (ubuntu-latest) (push) Failing after 6s
Documentation / Build User Guide (push) Successful in 5s
CI / Clippy Check (push) Failing after 4s
Documentation / Build API Documentation (push) Failing after 15s
CI / Build CPU-Only (Explicit) (push) Failing after 24s
CI / Build (macos-latest) (push) Failing after 5s
CI / Test (macos-latest) (push) Skipped
CI / Test (ubuntu-latest) (push) Skipped
CI / Python Bindings (maturin) (macos-latest) (push) Skipped
CI / Python Bindings (maturin) (ubuntu-latest) (push) Skipped
CI / WASM Build + Size Check (push) Skipped
CI / Distributed Training Tests (push) Skipped
CI / CI Success (push) Failing after 0s
CI / Format Check (push) Failing after 5s
Performance Benchmarks / Run Benchmarks (push) Failing after 5s
CI / Build (ubuntu-latest) (push) Failing after 6s
Documentation / Build User Guide (push) Successful in 5s
CI / Clippy Check (push) Failing after 4s
Documentation / Build API Documentation (push) Failing after 15s
CI / Build CPU-Only (Explicit) (push) Failing after 24s
CI / Build (macos-latest) (push) Failing after 5s
CI / Test (macos-latest) (push) Skipped
CI / Test (ubuntu-latest) (push) Skipped
CI / Python Bindings (maturin) (macos-latest) (push) Skipped
CI / Python Bindings (maturin) (ubuntu-latest) (push) Skipped
CI / WASM Build + Size Check (push) Skipped
CI / Distributed Training Tests (push) Skipped
CI / CI Success (push) Failing after 0s
- e3_geom.cu: corner φ on the narrow band (the flag test's circle + capsule around the step's centreline polyline + span cuts + fillet union), face apertures / face-centre φ by the Kuhn triangles, cell volumes by the six Kuhn tets and wall vectors by closure — CutGeometry::build_from in fp64, host operation order, FMA contraction off. - Body::with_device_sdf / DeviceSdf: the device form of φ (the host passes the polyline per step); the flag wake test attaches it (same arithmetic as its closure; the polylines factored out unchanged). - step/device/geom.rs DeviceGeom: persistent φ / bound / volume / wall buffers; the face tables written straight into DeviceCut's predictor apertures and distances (update skips their scatters); the host mirror = the band's entries gathered compactly onto recycled arrays of retired device generations (GeomPool; band-list history) — Mask::from_cut classifies it. - RTX_E3_BAND_CHECK=1 with the knob: mirror AND device tables against the host build_from bit for bit on every refresh. - Knob off: byte-identical (slab ny 62 one period CSV = main's); host suite 21/21. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
c4a29b557d
commit
f5f0ffdd2a
@@ -124,7 +124,20 @@ impl Mask {
|
||||
b: Boundaries,
|
||||
prev: Option<(&CutGeometry, f64, f64)>,
|
||||
) -> Result<Self, String> {
|
||||
let lap = std::time::Instant::now();
|
||||
let cut = CutGeometry::build_from(body, g, t, prev);
|
||||
if std::env::var("RTX_E3_MOVING_PROFILE").is_ok() {
|
||||
eprintln!(
|
||||
" mask laps: cut geometry (host, within build_mask) {:.0} ms",
|
||||
lap.elapsed().as_secs_f64() * 1e3
|
||||
);
|
||||
}
|
||||
Self::from_cut(cut, g, b)
|
||||
}
|
||||
|
||||
/// R6-1: the mask of a cut geometry built elsewhere (the device's
|
||||
/// `DeviceGeom` mirror); `build_cut_from` is this after `CutGeometry::build_from`.
|
||||
pub fn from_cut(cut: CutGeometry, g: Grid, b: Boundaries) -> Result<Self, String> {
|
||||
let (nx, ny, nz) = (g.nx, g.ny, g.nz);
|
||||
let periodic = b.z0 == Side::Periodic;
|
||||
let allowed = |side: Side| matches!(side, Side::Velocity | Side::Periodic | Side::SlipWall);
|
||||
|
||||
Reference in New Issue
Block a user