Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gromacs for openSUSE:Factory checked in at 2022-12-25 15:15:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gromacs (Old) and /work/SRC/openSUSE:Factory/.gromacs.new.1563 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gromacs" Sun Dec 25 15:15:02 2022 rev:55 rq:1045250 version:2022.3 Changes: -------- --- /work/SRC/openSUSE:Factory/gromacs/gromacs.changes 2022-11-09 12:57:21.972324500 +0100 +++ /work/SRC/openSUSE:Factory/.gromacs.new.1563/gromacs.changes 2022-12-25 15:15:24.489561633 +0100 @@ -1,0 +2,12 @@ +Sun Dec 25 01:29:31 UTC 2022 - Stefan Brüns <[email protected]> + +- Exclude MPI flavor on 32 bit architectures, as MPI communication + does not work correctly. + +------------------------------------------------------------------- +Mon Nov 7 19:15:18 UTC 2022 - Stefan Brüns <[email protected]> + +- Fix aarch64 build on 15.x, add relax_test_tolerance.patch +- Relax memory and disk constraints + +------------------------------------------------------------------- New: ---- relax_test_tolerance.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gromacs.spec ++++++ --- /var/tmp/diff_new_pack.F6gvsv/_old 2022-12-25 15:15:25.325566364 +0100 +++ /var/tmp/diff_new_pack.F6gvsv/_new 2022-12-25 15:15:25.329566388 +0100 @@ -43,7 +43,9 @@ %else %bcond_with opencl %endif + %bcond_with tinyxml2 +%bcond_without tests Name: gromacs%{?with_mpi:-openmpi} Version: 2022.3 @@ -56,7 +58,8 @@ Source0: ftp://ftp.gromacs.org/pub/gromacs/gromacs-%{uversion}.tar.gz Source1: ftp://ftp.gromacs.org/pub/manual/manual-%{uversion}.pdf Source2: ftp://ftp.gromacs.org/regressiontests/regressiontests-%{uversion}.tar.gz - +# PATCH-FIX-UPSTREAM +Patch0: https://gitlab.com/gromacs/gromacs/-/commit/0ccdf623928dfe1ce04aa7a8995a5403feaa8a5e.patch#/relax_test_tolerance.patch BuildRequires: cmake >= 3.13.0 BuildRequires: fdupes BuildRequires: gcc-c++ @@ -77,6 +80,10 @@ BuildRequires: (pkgconfig(tinyxml2) > 3.0 with pkgconfig(tinyxml2) < 7) %endif Requires: gromacs-data = %{version} +%if %{with mpi} +# MPI communication fails on 32bit architectures +ExcludeArch: %{ix86} %{arm} ppc +%endif %description GROMACS is a package to perform molecular dynamics computer @@ -170,8 +177,10 @@ This package contains data files for gromacs. %prep -%autosetup -n gromacs-%{uversion} +%autosetup -n gromacs-%{uversion} -p1 tar -xzf %{S:2} +# Force same behavior on 32 and 64 bit archs +sed -i -e '/set(CMAKE_BUILD_WITH_INSTALL_RPATH/ s@.*@# \0@' CMakeLists.txt %build %if %{with mpi} @@ -185,8 +194,8 @@ %define acce None %endif -# regression are currently broken on i686, https://redmine.gromacs.org/issues/2584 -# and cannot be used with GMX_BUILD_MDRUN_ONLY=ON +# Avoid oversubscription, some tests run with 2 Ranks locally +export MAX_TEST_THREADS=$(( %_smp_build_ncpus / 2 )) %cmake \ -DGMX_VERSION_STRING_OF_FORK=openSUSE \ -DCMAKE_INSTALL_PREFIX=%{_prefix} \ @@ -197,7 +206,7 @@ -DCMAKE_SKIP_RPATH=OFF \ -DCMAKE_SKIP_INSTALL_RPATH=ON \ -DGMX_BUILD_UNITTESTS:BOOL=ON \ - -DGMX_EXTERNAL_TINYXML2:BOOL=OFF \ + -DGMX_EXTERNAL_TINYXML2:BOOL=%{?with_tinyxml:ON}%{!?with_tinyxml:OFF} \ -DGMX_EXTERNAL_ZLIB:BOOL=ON \ -DGMX_USE_MUPARSER=EXTERNAL \ -DGMX_SIMD=%{acce} \ @@ -212,10 +221,8 @@ %endif -DGMX_OPENMP=ON \ -DGMX_INSTALL_LEGACY_API=ON \ -%ifnarch %{ix86} %{arm} -DREGRESSIONTEST_PATH="%{_builddir}/gromacs-%{uversion}/regressiontests-%{uversion}" \ - -DGMX_TEST_NUMBER_PROCS=$(( %_smp_build_ncpus / 2 )) \ -%endif + -DGMX_TEST_NUMBER_PROCS=${MAX_TEST_THREADS} \ %{nil} %cmake_build %cmake_build tests @@ -250,16 +257,22 @@ rm -f %{buildroot}%{_bindir}/gmx-completion* -%fdupes -s %{buildroot} +%fdupes %{buildroot}%{_datadir}/gromacs %check -#s390x is too slow for tests -# gmock based tests don't work on i586 -%ifnarch s390x %{ix86} -%ctest --exclude-regex 'physicalvalidationtests|regression|2Rank|TwoRanks' %{?with_mpi:--parallel 1} +%if %{with tests} +%ifarch %{ix86} +# Precision problems on x86, https://gitlab.com/gromacs/gromacs/-/issues/2584 +export GTEST_FILTER=:-LinearChainDataFixture:Polarize/ListedForcesTest +%endif +%ctest --exclude-regex 'physicalvalidationtests|regression|2Rank|TwoRanks' # Each OneRank/TwoRanks test pair uses the same temporary files, run separately -%ctest --tests-regex '2Rank|TwoRanks' %{?with_mpi:--parallel 1} -%ctest --tests-regex regression --parallel 1 +%ctest --tests-regex '2Rank|TwoRanks' +%ifarch %{ix86} + %ctest --tests-regex regression --exclude-regex regressiontests/complex --parallel 1 +%else + %ctest --tests-regex regression --parallel 1 +%endif %endif %post -n %{libname_gromacs} -p /sbin/ldconfig ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.F6gvsv/_old 2022-12-25 15:15:25.365566591 +0100 +++ /var/tmp/diff_new_pack.F6gvsv/_new 2022-12-25 15:15:25.369566614 +0100 @@ -1,14 +1,12 @@ <?xml version="1.0"?> <constraints> <hardware> - <physicalmemory> - <size unit="G">8</size> - </physicalmemory> + <memory> + <size unit="G">5</size> + </memory> <disk> - <size unit="G">20</size> + <size unit="G">4</size> </disk> </hardware> - <sandbox>kvm</sandbox> - <hostlabel exclude="true">SLOW_CPU</hostlabel> </constraints> ++++++ relax_test_tolerance.patch ++++++ >From 0ccdf623928dfe1ce04aa7a8995a5403feaa8a5e Mon Sep 17 00:00:00 2001 From: Mark Abraham <[email protected]> Date: Thu, 13 Oct 2022 18:39:00 +0000 Subject: [PATCH] Relax arbitrary test tolerances. This is now in line with the fix also made for #3836 Fixes #4290 --- src/programs/mdrun/tests/energycomparison.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/programs/mdrun/tests/energycomparison.cpp b/src/programs/mdrun/tests/energycomparison.cpp index 940f2f9d69..2d25b2fe02 100644 --- a/src/programs/mdrun/tests/energycomparison.cpp +++ b/src/programs/mdrun/tests/energycomparison.cpp @@ -66,8 +66,8 @@ namespace test EnergyTermsToCompare EnergyComparison::defaultEnergyTermsToCompare() { return { - { interaction_function[F_EPOT].longname, relativeToleranceAsUlp(10.0, 50) }, - { interaction_function[F_EKIN].longname, relativeToleranceAsUlp(10.0, 50) }, + { interaction_function[F_EPOT].longname, relativeToleranceAsPrecisionDependentUlp(60.0, 200, 160) }, + { interaction_function[F_EKIN].longname, relativeToleranceAsPrecisionDependentUlp(60.0, 200, 160) }, // The pressure is very strongly affected by summation errors, // so we need a large tolerance. // The value of 17000 is calibrated for running a small water box for 16 steps. -- GitLab
