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
+
+- 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
+
+- 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/0ccdf623928dfe1ce04aa7a8995a5403...
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
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