Blocked fine: fix INNER assertion, skip empty halo uploads, explicit fixture

- GPU test: after hop 2 some INNER_GHOST populations are NaN (pulled from
  OUTER poisoned on hop 1; 236 slots in pinned CPUREF); assert ACTIVE
  finite and OUTER NaN, keep the full dense-vs-blocked raw value/NaN-mask
  comparison.
- A 1x1 non-periodic fine layout has zero halo pairs: skip the halo table
  uploads (CUDA rejects mem_alloc(0)); _fine_halo already skips launch.
  CPU guard test with driver doubles.
- Drop the class-level fine_layout default; the followup fake backend now
  sets fine_layout = None explicitly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-15 03:52:42 +00:00
1 parent dc5850c198
commit 59921a0181
3 files changed
+35 -6

No files matched your search

@@ -106,6 +106,7 @@ class FaultGuardsCPU(unittest.TestCase):
def fake_backend(self):
backend = PeriodicPatchStepper.__new__(PeriodicPatchStepper)
backend.fine_layout = None # dense fine storage
backend.ctx = Mock(activate=nullcontext)
backend._lock = RLock()
backend._status = "ready"