SelectionUnitTests failures on POWER9 with GCC 12.3
Summary
Ubuntu has an issue with GROMACS 2022.5 and GCC 12.3 on ppc64le, with multiple failures in SelectionUnitTests
https://bugs.launchpad.net/ubuntu/+source/gcc-12/+bug/2009247, buildlog_ubuntu-lunar-ppc64el.gromacs_2022.5-2_BUILDING.txt.gz
The failure persists when disabling LTO and when downgrading from -O3 to -O2.
The failure also is not seen in Debian, where this built successfully with gcc-12.
The issue can be reproduced on dev-power9
with GCC 12.3.0 built from source and recent main
(c61c11f3).
Exact steps to reproduce
On dev-power9
:
$ module load `/nethome/aland/modules/modulefiles/gcc/12.3.0-ppc64 cmake/3.23.1
$ cmake ../.. -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
[...]
$ ./bin/selection-test
[....]
[==========] 201 tests from 11 test suites ran. (314 ms total)
[ PASSED ] 199 tests.
[ FAILED ] 2 tests, listed below:
[ FAILED ] SelectionCollectionDataTest.ComputesMassesAndCharges
[ FAILED ] SelectionCollectionDataTest.HandlesOverlappingRealRanges
2 FAILED TESTS
$ ./bin/gmx -version
[...]
GROMACS version: 2024-dev-20230712-c61c11f34b
GIT SHA1 hash: c61c11f34b01aaf48340e98193bf9058e603572f
Precision: mixed
Memory model: 64 bit
MPI library: thread_mpi
OpenMP support: enabled (GMX_OPENMP_MAX_THREADS = 128)
GPU support: disabled
SIMD instructions: IBM_VSX
CPU FFT library: fftw-3.3.8
GPU FFT library: none
Multi-GPU FFT: none
TNG support: enabled
Hwloc support: disabled
Tracing support: disabled
C compiler: /nethome/aland/modules/gcc/12.3.0-ppc64/bin/gcc GNU 12.3.0
C compiler flags: -Wno-array-bounds -fexcess-precision=fast -funroll-all-loops -mcpu=power9 -mtune=power9 -mvsx -Wall -Wno-unused -Wunused-value -Wunused-parameter -Wextra -Wno-sign-compare -Wpointer-arith -Wundef -Werror=stringop-truncation -Wno-missing-field-initializers -O3 -DNDEBUG
C++ compiler: /nethome/aland/modules/gcc/12.3.0-ppc64/bin/g++ GNU 12.3.0
C++ compiler flags: -Wno-array-bounds -fexcess-precision=fast -funroll-all-loops -mcpu=power9 -mtune=power9 -mvsx -Wall -Wextra -Wpointer-arith -Wmissing-declarations -Wundef -Wstringop-truncation -Wno-missing-field-initializers -Wno-cast-function-type-strict -fopenmp -O3 -DNDEBUG
BLAS library:
LAPACK library:
Possible fixes
Ubuntu opened a bug report for GCC.
For us, I think adding a known issue is enough.