Allow float64 roundoff in XRay detector parity checks - #90
Conversation
Keep structural and status checks exact while bounding fitted-output rounding in the normalized detector fixtures. Document the fixture tolerances and retain the existing tighter FFT bound. Signed-off-by: Trent Nelson <trentn@nvidia.com>
melo-gonzo
left a comment
There was a problem hiding this comment.
LGTM. All 69 detector/storage tests passed on RTX 6000 Ada. Additional probes confirmed the tolerance limits and exact shape, dtype, finite-mask and zero-position checks remain enforced.
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one) (1)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: NVIDIA/cuPhoton/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
The normalized XRay detector regression fixtures can differ between batched and serial GPU execution by a few units of float64 roundoff. On B200, exact fitted-output assertions rejected otherwise matching results with a maximum absolute difference of 2.49e-15.
Allow up to 5e-15 absolute error for those fitted outputs while keeping shapes, dtypes, finite masks, zero positions, fit status and FFT frequencies exact. The existing 1e-15 FFT bound remains. Documentation now describes the fixture-specific limits; fitting algorithms are unchanged.
Validation: all 69 detector/storage tests pass against the unchanged rc2 pip wheels on x86-64 B200 and aarch64 GB200, including the four previously failing regressions. The CPU detector/storage suite passed 51 tests with 18 GPU skips. Changed-file pre-commit checks, including mypy and lock validation, passed.