73 lines
4.8 KiB
Plaintext
73 lines
4.8 KiB
Plaintext
Joint-review followup — 2026-10-13
|
|
|
|
Completed only the requested gaps. No transport kernel, pinned reference,
|
|
geometric module, algorithm, tau pair or tolerance changes. No audit rerun,
|
|
32-step/Jet/dynamic-AMR run, dependency/environment change or Git push/commit.
|
|
|
|
Code: download device-read exceptions mark the backend failed; close activation
|
|
failure preserves references in failed state and permits a second close attempt.
|
|
Explicit checks (also effective under python -O) enforce HALO=4, each validated
|
|
omega=1/tau, and d_params size=struct.calcsize('=ffffI') before upload.
|
|
The existing GPU test's RSS assertion is now 256MiB, not 512MiB.
|
|
|
|
Executed checks (real stdout retained):
|
|
cpu_stdout.txt: three new CPU fault/contract tests plus the original mock
|
|
cleanup test pass. Both coarse and fine read failure are injected; close
|
|
context-manager entry failure is followed by a successful cleanup retry.
|
|
CPU parent/children use 256MiB RLIMIT_AS, 2MiB RLIMIT_FSIZE, core=0.
|
|
Peak child RSS 46,380KiB. First CPU attempt exposed an incorrectly configured
|
|
test Mock, corrected before rerunning; that failed stdout is also retained.
|
|
gpu_seed1_stdout.txt: ordinary non-instrumented build, identical seed1 initial
|
|
state, eight coarse steps, FP32 G versus pinned FP64 C(F_ref):
|
|
maximum population error 1.67235548e-7 (limit 3e-6)
|
|
maximum leaf mass/momentum drift 2.23806128e-5 (limit 2e-4)
|
|
maximum leaf reference discrepancy 2.20813948e-5 (limit 2e-4).
|
|
These match the preceding audit-build observations. No audit was rerun.
|
|
gpu_rectangle_stdout.txt: ordinary build, ONE coarse step on 17x13 coarse,
|
|
bounds=(2,2,6,5), fine=16x14 including halo. Offcenter/non-square, x/y margin2,
|
|
distinct layer dimensions. Asymmetric nonequilibrium G0, compared with a
|
|
small independent scalar G-to-G oracle using closed-midpoint geometry and
|
|
no production exchange tables. Maximum population error 1.14050047e-7;
|
|
full raw fine halo NaN/valid mask and public leaf mask match. Device arrays
|
|
35,288 bytes. This adds bounded rectangle coverage, not a general accuracy
|
|
or arbitrary-grid certification.
|
|
|
|
Resource handling, including unsuccessful starts:
|
|
Every actual job has its own immediately preceding gpu_*_before.json with
|
|
physical UUID, utilization, memory and compute-apps. Only physical GPU0 used:
|
|
GPU-e8853ae7-a302-6a17-bcfa-aa767e9ed20c. Successful starts: 0%, 5MiB, no apps.
|
|
Initial launcher stopped before starting on a units-parsing mistake; snapshot
|
|
retained. After correction, original compile-inside-context test was killed by
|
|
our monitor at 268,984,320 bytes summed process-group RSS (256.52MiB), while
|
|
compiling the second module: no flow steps had run. gpu_results.json records
|
|
the -9 exit and contributing Python/nvcc/cicc processes. Its residual build
|
|
was identified by exact source/config metadata plus in-job timestamp and
|
|
removed; cleanup.json records that check.
|
|
No budget increase: test-only normal_backend now compiles normal refinement.cu
|
|
before creating a context, then matches exact generated source digest and
|
|
architecture when loading. Each case runs in a fresh process. Ordinary compiler
|
|
flags, kernel and production loading/transport behavior remain unchanged.
|
|
Successful seed1/rectangle sampled process-group peaks: 194,113,536 and
|
|
194,244,608 bytes (~185MiB), including any live compiler children. Device arrays
|
|
remain below 128KiB. One rectangle launch was refused at utilization 6% despite
|
|
no listed apps; a new idle snapshot preceded the later successful launch.
|
|
RSS polling at 20ms is a monitoring threshold, NOT an OS hard memory limit;
|
|
summing RSS conservatively double-counts shared pages. CUDA virtual address
|
|
mappings are not limited with RLIMIT_AS. Output/core use OS limits, combined
|
|
raw stdout is also watched against 2MiB, and elapsed time against 120s.
|
|
Only the test's own new process group is terminated on a threshold violation.
|
|
The runner itself is outside that group. All new per-job temporary directories
|
|
were cleaned. run_gpu.py records the exact reproducible harness and skips
|
|
already successful cases when resuming these evidence files.
|
|
|
|
Existing pycuda_3_10 Python and explicit /home/frank14f/CelerisLab/src used;
|
|
package/kernel/source paths asserted. Full commands, process-only settings,
|
|
snapshots, times and RSS are in the JSON records; no DynamisLab access.
|
|
|
|
incremental.patch is relative to THIS round's frozen start: two small existing
|
|
file changes and one new followup test. Baseline verification is limited to the
|
|
15 relevant source/reference/prior-evidence files, preserving unrelated dirty
|
|
work; the 13 outside the intended two edits remain byte-identical. Prior-round
|
|
validation files are untouched. Independent read-only agent review found no
|
|
remaining blocker. No long-time interface/stress accuracy claim is added.
|