Bug #2338

ShakeTest.ConstrainsThreeBondsWithCommonAtoms tolerance

Added by Roland Schulz about 3 years ago. Updated about 3 years ago.

Target version:
Affected version - extra info:
Affected version:


With ICC 18.1, no-simd, Release:

    ../src/gromacs/mdlib/tests/shake.cpp:222: Failure
      Value of: finalDistancesSquared[i]
        Actual: 1.0000100135803223
      Expected: constrainedDistancesSquared[i]
      Which is: 1
    Difference: 1.00136e-05 (84 single-prec. ULPs, rel. 1e-05)
     Tolerance: abs. 1e-05, rel. 1e-05

Associated revisions

Revision cbea06cf (diff)
Added by Berk Hess about 3 years ago

Correct Shake test tolerances

The shake test used a tolerance on the square of the distance instead
of the distance itself as the documentation says.
Added tolerance for rounding errors due to the absolute size of the
coordinate values involved.

Fixes #2338

Change-Id: I1a771c0682fd694b2672986b46c58d4888d5a4a2

Revision 80dd3f5b (diff)
Added by Mark Abraham about 3 years ago

Update double-precision test configurations

These changes improve coverage of double precision, using more release
mode, particularly with latest gcc and icc, and using 128-bit SIMD,
which have been cases that were buggy recently. The other aspects of
the configurations that have been modified have been
non-critical. Where appropriate, brief rationales are recorded. This
resolves an old TODO item in the post-submit matrix.

Fixed a sign mismatch in initializing an OpenCL variable that didn't
need to be initialized.

Noted relevant new TODOs.

Refs #2300, #2325, #2326, #2334, #2335, #2336, #2337, #2338

Change-Id: I131fa1a6776d1e7809799c3f931a1fc8100fcdc9


#1 Updated by Gerrit Code Review Bot about 3 years ago

Gerrit received a related patchset '1' for Issue #2338.
Uploader: Berk Hess ()
Change-Id: gromacs~release-2018~I1a771c0682fd694b2672986b46c58d4888d5a4a2
Gerrit URL:

#2 Updated by Berk Hess about 3 years ago

  • Category set to testing
  • Status changed from New to Fix uploaded
  • Assignee set to Berk Hess
  • Target version set to 2018-beta2

I think this is because the distance calculation during Shake and in the check might not be binary identical, so we need to add a tolerance of real_eps*max(coord).
I also noticed that the test checks distance^2 instead of distance like the documentation says.

#3 Updated by Roland Schulz about 3 years ago

  • Status changed from Fix uploaded to Closed

Also available in: Atom PDF