Repository navigation
Conversation
The implicit vertical mixing tests in VertMixTest recomputed the initial normal velocity on the host and required inactive layers to match it exactly. On Intel GPUs, the device evaluation of the same expression can differ in the last bit (e.g. from FMA contraction), so unchanged inactive layers were reported as mismatches and growth errors. Copy the initial normal velocity from the device instead and use it as the reference for unchanged layers, the expected decay and the host reference solve. Fixes E3SM-Project#668 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
TestingCTest unit tests:
Reproducing and diagnosing the failure
Still to do: CTests on 🤖 Generated with Claude Code |
Testing on auroraTested the merge of #670 (
aurora, intel, mpichPolaris
|
|
@brian-oneill, for reporting #668, you get the dubious honor of reviewing this if you don't mind. |
brian-oneill
left a comment
There was a problem hiding this comment.
LGTM. Using the device initialized velocity array resolves the host/device rounding mismatch without relaxing tolerances. Just for completeness, ctests also pass on Chrysalis w/ intel, pm-cpu w/ gnu, and pm-gpu w/ gnugpu.
Fix the VERTMIX_TEST Rayleigh damping tests on Intel GPUs.
The Rayleigh damping tests in
VERTMIX_TESTrecomputed the initial normal velocity on the host and required layers the solve leaves unchanged to match it exactly. Onaurorawithintelgpu, the device value can differ in the last bit, so those layers failed. The tests now copy the initial velocity from the device instead. Only test code changes.Fixes #668
Checklist
Linting
Building
Testing
aurora, intel, mpich
aurora, intelgpu, mpich
Provide relevant details in a comment to the PR titled
Testing🤖 Generated with Claude Code