Gromacs 2021.1 fails on make check on test/freeenergy/transformAtoB

GROMACS version: 2021.1
GROMACS modification: No

System and tool info:
####################################################
$ cmake --version
cmake version 3.18.2

$ gcc --version
gcc (GCC) 8.3.1 20191121 (Red Hat 8.3.1-5)

$ ompi_info
Package: Open MPI mockbuild@focus.springdale.princeton.edu Distribution
Open MPI: 4.1.0

$ lscpu | grep “Model name”
Model name: Intel(R) Xeon(R) Gold 6248R CPU @ 3.00GHz

$ uname -a
Linux stellar-intel.princeton.edu 4.18.0-240.22.1.el8_3.x86_64 #1 SMP Tue Apr 6 15:19:35 EDT 2021 x86_64 x86_64 x86_64 GNU/Linux
####################################################

Build procedure:
####################################################
#!/bin/bash
version=2021.1

wget the source code

tar -zxvf gromacs-{version}.tar.gz cd gromacs-{version}
mkdir build && cd build

module purge
module load cmake/3.18.2
module load openmpi/gcc/4.1.0
cmake … -DCMAKE_BUILD_TYPE=Release
-DCMAKE_C_COMPILER=mpicc
-DCMAKE_CXX_COMPILER=mpic++
-DGMX_BUILD_OWN_FFTW=ON
-DGMX_MPI=ON -DGMX_OPENMP=ON
-DGMX_SIMD=AVX_512 -DGMX_DOUBLE=OFF
-DGMX_GPU=OFF
-DCMAKE_INSTALL_PREFIX=$HOME/.local
-DGMX_COOL_QUOTES=OFF -DREGRESSIONTEST_DOWNLOAD=ON

make -j 10
make check
####################################################

End of output (full log is here: https://raw.githubusercontent.com/jdh4/gmx2021.1/main/build.log)
####################################################
Start 71: regressiontests/freeenergy
71/73 Test #71: regressiontests/freeenergy …***Failed 37.27 sec
Will test on 8 MPI ranks (if possible)
Will test using executable suffix _mpi

Abnormal return value for ‘/usr/local/openmpi/4.1.0/gcc/bin/mpiexec -np 8 -wdir /home/jdh4/software/gmx_2021.1_combined/gromacs-2021.1/build/tests/freeenergy/transformAtoB gmx_mpi mdrun -notunepme >mdrun.out 2>&1’ was -1
FAILED. Check mdrun.out, md.log file(s) in transformAtoB for transformAtoB
1 out of 10 freeenergy tests FAILED

  Start 72: regressiontests/rotation

72/73 Test #72: regressiontests/rotation … Passed 47.47 sec
Start 73: regressiontests/essentialdynamics
73/73 Test #73: regressiontests/essentialdynamics … Passed 21.17 sec

99% tests passed, 1 tests failed out of 73

Label Time Summary:
GTest = 550.48 secproc (67 tests)
IntegrationTest = 98.99 sec
proc (20 tests)
MpiTest = 412.07 secproc (10 tests)
SlowTest = 439.54 sec
proc (8 tests)
UnitTest = 11.95 sec*proc (39 tests)

Total Test time (real) = 788.56 sec

The following tests FAILED:
71 - regressiontests/freeenergy (Failed)
####################################################

Some of the output files from /gromacs-2021.1/build/tests/freeenergy/transformAtoB are here in the github link above.

This looks similar to:
again-floating-point-exception-8-floating-point-divide-by-zero-3/1233/18

Does the failed test relate to the implementation of the gamma distribution? Is the failed test a concern for simulations that do not need this?

Jon

I don’t know what the issue is here. We should clearly not have failing tests.

@pbauer do you know more about this?

This is news to me. Will dig into it once I have fixed another bug.

Reproduced locally. Issue is here: Error with free energy transformations when using MPI (#4031) · Issues · GROMACS / GROMACS · GitLab

Triggered an FPE

[debian-xps13:852431] *** Process received signal ***
[debian-xps13:852431] Signal: Floating point exception (8)
[debian-xps13:852431] Signal code: Floating point overflow (4)

This is due to an overflow of a floating point value which is never actually used or output. So all results are correct, but free-energy runs with the md-vv integrator might stop with a FPE.

Good to hear. Thanks, Berk

Jon