Project

General

Profile

Bug #2242

PME LJ tests fail with SIMD with an fp exception

Added by Roland Schulz over 2 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
mdrun
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

On KNL in debug mode multiple of the the tests fail because of FPE. It seems that not the whole SIMD width is initialized and thus the exp overflows. They pass in release mode.
With reference implementation and GCC 5.4 on HSW (-DGMX_SIMD=Reference -DGMX_SIMD_REF_FLOAT_WIDTH=16 -DGMX_SIMD_REF_DOUBLE_WIDTH=8 -DCMAKE_BUILD_TYPE=Debug) the same tests also produce the FPE. In addition multiple other tests fail with "Reference data item [] not found".


Related issues

Related to GROMACS - Bug #2234: PME solving test missing reference data failures on various configurationsClosed

Associated revisions

Revision 16f9979f (diff)
Added by Berk Hess over 2 years ago

Fix exception in SIMD LJ PME solve

Clear SIMD padding elements in solve helper arrays to avoid,
otherwise harmles, fp overflow exceptions.

Fixes #2242

Change-Id: I97e67c4fcc2ef361f54d1627fd0dab4621f4bd33

History

#1 Updated by Aleksei Iupinov over 2 years ago

I'm not really knowledgeable in SIMD layer. It seems pme-solve.cpp:98 allocates work for GMX_SIMD_REAL_WIDTH, which comes from impl_x86_avx2_256_definitions.h and is defined as 8. Hence the second part of simdInternal is garbage, causing ldexp overflow. Berk, any ideas on fixing this?

The rest of the failures likely have to do with the arbitrary GMX_FLOAT_MIN cut-off for the reference data, as in #2234. I might have to adjust input coefficients once more, as such small grid values are not meaningful/realistic anyway.

#2 Updated by Gerrit Code Review Bot over 2 years ago

Gerrit received a related patchset '1' for Issue #2242.
Uploader: Berk Hess ()
Change-Id: gromacs~release-2016~I131008190dedfdecf8770fe547346d64f3f99a9f
Gerrit URL: https://gerrit.gromacs.org/6909

#3 Updated by Berk Hess over 2 years ago

  • Category set to mdrun
  • Status changed from New to Fix uploaded
  • Assignee changed from Aleksei Iupinov to Berk Hess
  • Target version set to 2016.4

No, GMX_SIMD_REAL_WIDTH comes from the file for the appropriate architecture, so 16 for float with KNL.
This issue does not seem to be specific for KNL.

#4 Updated by Gerrit Code Review Bot over 2 years ago

Gerrit received a related patchset '1' for Issue #2242.
Uploader: Berk Hess ()
Change-Id: gromacs~release-2016~I97e67c4fcc2ef361f54d1627fd0dab4621f4bd33
Gerrit URL: https://gerrit.gromacs.org/6911

#5 Updated by Berk Hess over 2 years ago

  • Subject changed from PME tests fail with SIMD width 16 to PME LJ tests fail with SIMD with an fp exception

#6 Updated by Aleksei Iupinov over 2 years ago

  • Related to Bug #2234: PME solving test missing reference data failures on various configurations added

#7 Updated by Roland Schulz over 2 years ago

Should we create a separate bug for the reference data issue? Otherwise we shouldn't set the status to "Fix uploaded" until both problems are resolved.

#8 Updated by Aleksei Iupinov over 2 years ago

I reopened the other one (#2234) which already deals with same problem.

#9 Updated by Mark Abraham over 2 years ago

  • Target version changed from 2016.4 to 2016.5

Are we happy with behaviour of the 2016 branch? Setting target to 2016.5 for now, but I assume there's no work to do

#10 Updated by Berk Hess over 2 years ago

  • Status changed from Fix uploaded to Resolved

#11 Updated by Erik Lindahl about 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF