#7 ESPResSo 4.2.0
Merged 2 years ago by junghans. Opened 2 years ago by jngrad.
rpms/ jngrad/espresso 4.2.0-f36  into  f36

file modified
+1
@@ -14,3 +14,4 @@ 

  /espresso-4.1.2.tar.gz

  /espresso-4.1.3.tar.gz

  /espresso-4.1.4.tar.gz

+ /espresso-4.2.0.tar.gz

@@ -0,0 +1,11 @@ 

+ diff --git a/testsuite/python/icc_interface.py b/testsuite/python/icc_interface.py

+ index 2b968d243..d45bb0878 100644

+ --- a/testsuite/python/icc_interface.py

+ +++ b/testsuite/python/icc_interface.py

+ @@ -120,5 +120,5 @@ class Test(ut.TestCase):

+              self.system.integrator.run(0)

+  

+ -    @utx.skipIfMissingFeatures(["P3M"])

+ +    @ut.skip("Fails on aarch64")

+      def test_exceptions_large_r_cut(self):

+          icc, (_, p) = self.setup_icc_particles_and_solver(max_iterations=1)

file removed
-37
@@ -1,37 +0,0 @@ 

- diff --git a/src/core/communication.hpp b/src/core/communication.hpp

- index 2959e97..700bd26 100644

- --- a/src/core/communication.hpp

- +++ b/src/core/communication.hpp

- @@ -49,6 +49,8 @@

-   *  to \ref CALLBACK_LIST.

-   */

-  

- +#include <cstddef>

- +

-  #include "MpiCallbacks.hpp"

-  

-  /* Includes needed by callbacks. */

- diff --git a/src/script_interface/ParallelScriptInterface.hpp b/src/script_interface/ParallelScriptInterface.hpp

- index c33e67d..02ad815 100644

- --- a/src/script_interface/ParallelScriptInterface.hpp

- +++ b/src/script_interface/ParallelScriptInterface.hpp

- @@ -23,6 +23,7 @@

-  #define SCRIPT_INTERFACE_PARALLEL_SCRIPT_INTERFACE_HPP

-  

-  #include <utility>

- +#include <limits>

-  

-  #include "MpiCallbacks.hpp"

-  #include "ScriptInterface.hpp"

- diff --git a/src/utils/include/utils/NumeratedContainer.hpp b/src/utils/include/utils/NumeratedContainer.hpp

- index 1d99098..1191a79 100644

- --- a/src/utils/include/utils/NumeratedContainer.hpp

- +++ b/src/utils/include/utils/NumeratedContainer.hpp

- @@ -24,6 +24,7 @@

-   *  Keep an enumerated list of T objects, managed by the class.

-   */

-  

- +#include <cstddef>

-  #include <cassert>

-  #include <set>

-  #include <unordered_map>

file removed
-106
@@ -1,106 +0,0 @@ 

- diff --git a/src/core/electrostatics_magnetostatics/fft.cpp b/src/core/electrostatics_magnetostatics/fft.cpp

- index 22331ac93..f9f65418d 100644

- --- a/src/core/electrostatics_magnetostatics/fft.cpp

- +++ b/src/core/electrostatics_magnetostatics/fft.cpp

- @@ -479,6 +479,9 @@ int map_3don2d_grid(int const g3d[3], int g2d[3], int mult[3]) {

-  

-  /** calculate most square 2d grid. */

-  void calc_2d_grid(int n, int grid[3]) {

- +  grid[0] = n;

- +  grid[1] = 1;

- +  grid[2] = 1;

-    for (auto i = static_cast<int>(std::sqrt(n)); i >= 1; i--) {

-      if (n % i == 0) {

-        grid[0] = n / i;

- diff --git a/src/core/random.hpp b/src/core/random.hpp

- index f8c6efb5f..8061b629d 100644

- --- a/src/core/random.hpp

- +++ b/src/core/random.hpp

- @@ -77,7 +77,7 @@ Utils::Vector3d v_noise(uint64_t counter, int key1, int key2 = 0) {

-  

-    auto const id1 = static_cast<uint32_t>(key1);

-    auto const id2 = static_cast<uint32_t>(key2);

- -  const key_type k{id1, id2};

- +  const key_type k{{id1, id2}};

-  

-    auto const noise = rng_type{}(c, k);

-  

- diff --git a/src/core/unit_tests/LocalBox_test.cpp b/src/core/unit_tests/LocalBox_test.cpp

- index 26d899220..c456cee03 100644

- --- a/src/core/unit_tests/LocalBox_test.cpp

- +++ b/src/core/unit_tests/LocalBox_test.cpp

- @@ -50,7 +50,7 @@ BOOST_AUTO_TEST_CASE(constructors) {

-    {

-      Utils::Vector<double, 3> const lower_corner = {1., 2., 3.};

-      Utils::Vector<double, 3> const local_box_length = {4., 5., 6.};

- -    Utils::Array<int, 6> const boundaries = {-1, 0, 1, 1, 0, -1};

- +    Utils::Array<int, 6> const boundaries = {{{-1, 0, 1, 1, 0, -1}}};

-  

-      auto const box =

-          LocalBox<double>(lower_corner, local_box_length, boundaries);

- diff --git a/src/utils/include/utils/interpolation/bspline_3d.hpp b/src/utils/include/utils/interpolation/bspline_3d.hpp

- index b130f8fc6..9fb9f85d2 100644

- --- a/src/utils/include/utils/interpolation/bspline_3d.hpp

- +++ b/src/utils/include/utils/interpolation/bspline_3d.hpp

- @@ -47,8 +47,8 @@ void bspline_3d(const Vector3d &pos, const Kernel &kernel,

-    const auto block = detail::ll_and_dist<order>(pos, grid_spacing, offset);

-  

-    /* Precalc weights that are used multiple times. */

- -  std::array<double, order> w_y;

- -  std::array<double, order> w_z;

- +  std::array<double, order> w_y{};

- +  std::array<double, order> w_z{};

-    for (int i = 0; i < order; i++) {

-      w_y[i] = bspline<order>(i, block.distance[1]);

-      w_z[i] = bspline<order>(i, block.distance[2]);

- diff --git a/src/utils/tests/Array_test.cpp b/src/utils/tests/Array_test.cpp

- index cab5a7fb2..f55759118 100644

- --- a/src/utils/tests/Array_test.cpp

- +++ b/src/utils/tests/Array_test.cpp

- @@ -48,7 +48,7 @@ BOOST_AUTO_TEST_CASE(array_ctor) {

-  }

-  

-  BOOST_AUTO_TEST_CASE(iterators) {

- -  auto a = Array<int, 4>{{1, 2, 3, 4}};

- +  auto a = Array<int, 4>{{{1, 2, 3, 4}}};

-  

-    BOOST_CHECK(*(a.begin()) == 1);

-    BOOST_CHECK(*(a.cbegin()) == 1);

- @@ -57,7 +57,7 @@ BOOST_AUTO_TEST_CASE(iterators) {

-  }

-  

-  BOOST_AUTO_TEST_CASE(element_access) {

- -  auto a = Array<int, 5>{{5, 6, 7, 8, 9}};

- +  auto a = Array<int, 5>{{{5, 6, 7, 8, 9}}};

-  

-    int c = 5;

-    for (int i : a) {

- diff --git a/src/utils/tests/tuple_test.cpp b/src/utils/tests/tuple_test.cpp

- index 3954ebffd..870a091cf 100644

- --- a/src/utils/tests/tuple_test.cpp

- +++ b/src/utils/tests/tuple_test.cpp

- @@ -28,12 +28,14 @@

-  

-  #include "utils/tuple.hpp"

-  

- +#include <array>

- +

-  BOOST_AUTO_TEST_CASE(for_each) {

-    using Utils::for_each;

-  

-    /* l-value reference tuple */

-    {

- -    auto a = std::array<int, 3>{2, 3, 5};

- +    auto a = std::array<int, 3>{{2, 3, 5}};

-  

-      for_each(

-          [i = 0, a](int &e) mutable {

- @@ -71,7 +73,7 @@ BOOST_AUTO_TEST_CASE(apply) {

-    using Utils::apply;

-  

-    /* constexpr */

- -  { static_assert(apply(std::plus<>(), std::array<int, 2>{3, 8}) == 11, ""); }

- +  { static_assert(apply(std::plus<>(), std::array<int, 2>{{3, 8}}) == 11, ""); }

-  

-    /* l-value reference */

-    {

file modified
+22 -26
@@ -1,32 +1,29 @@ 

- %global git 0

- %global commit f74064d62090da45a28225881008b05798703d1c

+ %global commit 18d49bfc4b6ca5be264f16d262338fda1f9141a7

  %global shortcommit %(c=%{commit}; echo ${c:0:7})

  

  Name:           espresso

- Version:        4.1.4

- Release:        10%{?dist}

+ Version:        4.2.0

+ Release:        1%{?dist}

  Summary:        Extensible Simulation Package for Research on Soft matter

  # segfault on s390x: https://github.com/espressomd/espresso/issues/3753

  # segfault on armv7hl: https://src.fedoraproject.org/rpms/espresso/pull-request/4

  ExcludeArch:    s390x i686 armv7hl

  

  License:        GPLv3+

- URL:            http://espressomd.org

- %if %{git}

- Source0:        https://github.com/%{name}md/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz

- %else

- Source0:       https://github.com/%{name}md/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz

- %endif

- Patch0:         %{name}-gcc11.patch

- Patch1:         %{name}-gcc12.patch

+ URL:            https://espressomd.org

+ Source0:        https://github.com/%{name}md/%{name}/releases/download/%{version}/%{name}-%{version}.tar.gz

+ # skip fragile ICC python interface test on aarch64

+ Patch0:         %{name}-aarch64.patch

  

  BuildRequires:  gcc-c++

- BuildRequires:  cmake3 >= 3.4

+ BuildRequires:  cmake3 >= 3.16

  BuildRequires:  /usr/bin/cython

  %global cython /usr/bin/cython

  BuildRequires:  fftw-devel

  BuildRequires:  python%{python3_pkgversion}-numpy

+ BuildRequires:  python%{python3_pkgversion}-scipy

  BuildRequires:  python%{python3_pkgversion}-six

+ BuildRequires:  python%{python3_pkgversion}-setuptools

  BuildRequires:  python%{python3_pkgversion}-devel

  BuildRequires:  boost-devel

  BuildRequires:  hdf5-devel
@@ -49,7 +46,7 @@ 

  in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).

  ESPResSo contains a number of advanced algorithms, e.g.

      * DPD thermostat (for hydrodynamics)

-     * P3M, MMM2D, MMM1D, ELC for electrostatic interactions

+     * P3M, MMM1D, ELC for electrostatic interactions

      * Lattice-Boltzmann for hydrodynamics

  

  %package common
@@ -61,7 +58,7 @@ 

  in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).

  ESPResSo contains a number of advanced algorithms, e.g.

      * DPD thermostat (for hydrodynamics)

-     * P3M, MMM2D, MMM1D, ELC for electrostatic interactions

+     * P3M, MMM1D, ELC for electrostatic interactions

      * Lattice-Boltzmann for hydrodynamics

  This package contains the license file and data files shared between the

  sub-packages of %{name}.
@@ -78,7 +75,7 @@ 

  in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).

  ESPResSo contains a number of advanced algorithms, e.g.

      * DPD thermostat (for hydrodynamics)

-     * P3M, MMM2D, MMM1D, ELC for electrostatic interactions

+     * P3M, MMM1D, ELC for electrostatic interactions

      * Lattice-Boltzmann for hydrodynamics

  

  This package contains %{name} compiled against Open MPI.
@@ -98,20 +95,17 @@ 

  in various ensembles ((N,V,E), (N,V,T), and (N,p,T)).

  ESPResSo contains a number of advanced algorithms, e.g.

      * DPD thermostat (for hydrodynamics)

-     * P3M, MMM2D, MMM1D, ELC for electrostatic interactions

+     * P3M, MMM1D, ELC for electrostatic interactions

      * Lattice-Boltzmann for hydrodynamics

  

  This package contains %{name} compiled against MPICH2.

  

  

  %prep

- %if %{git}

- %setup -q -n espresso-%{commit}

- %else

  %setup -q -n %{name}

- %endif

+ %ifarch aarch64

  %patch0 -p1

- %patch1 -p1

+ %endif

  

  %build

  %global defopts \\\
@@ -133,7 +127,7 @@ 

     module load mpi/${mpi}-%{_arch}

     old_LDFLAGS="${LDFLAGS}"

     export LDFLAGS="${LDFLAGS} -Wl,-rpath,${MPI_PYTHON3_SITEARCH}/%{name}md"

-    %{cmake3} %{defopts} -DLIBDIR=${MPI_LIB} -DPYTHON_INSTDIR=${MPI_PYTHON3_SITEARCH}

+    %{cmake3} %{defopts} -DPYTHON_INSTDIR=${MPI_PYTHON3_SITEARCH} -DWITH_CUDA=OFF -DWITH_HDF5=ON -DWITH_GSL=ON

     export LD_LIBRARY_PATH=$PWD/${mpi:-serial}/src/config

     %cmake3_build

     export LDFLAGS="${old_LDFLAGS}"
@@ -149,8 +143,7 @@ 

  

  %check

  export CTEST_OUTPUT_ON_FAILURE=1

- # exclude openmpi, see https://github.com/espressomd/espresso/issues/3905

- for mpi in mpich; do

+ for mpi in mpich openmpi; do

     module load mpi/${mpi}-%{_arch}

     export LD_LIBRARY_PATH=${MPI_LIB}:%{buildroot}${MPI_PYTHON3_SITEARCH}/%{name}md

     %cmake3_build --target check
@@ -158,7 +151,7 @@ 

  done

  

  %files common

- %doc AUTHORS README NEWS ChangeLog

+ %doc AUTHORS Readme.md NEWS ChangeLog

  %license COPYING

  

  %files -n python%{python3_pkgversion}-%{name}-openmpi
@@ -168,6 +161,9 @@ 

  %{python3_sitearch}/mpich/%{name}md/

  

  %changelog

+ * Fri Jul 01 2022 Jean-Noël Grad <jgrad@icp.uni-stuttgart.de> - 4.2.0-1

+ - Update to 4.2.0 (#2102861)

+ 

  * Thu Jan 20 2022 Jean-Noël Grad <jgrad@icp.uni-stuttgart.de> - 4.1.4-10

  - Rebuild for GCC 12.0.0

  

file modified
+1 -1
@@ -1,1 +1,1 @@ 

- SHA512 (espresso-4.1.4.tar.gz) = c901b0f39ba8ec8a5b32d67a52b4cd0fe07c2f98a1032cfc4542bb27eba9f24d1f2d575a048e4f6256bef7be8a51cd68851e457f87038a0dc946ec5c28324a9d

+ SHA512 (espresso-4.2.0.tar.gz) = b80afb1bef57911fd79b88378a5b2e31b07a18d415fe17fcd5ed28fb448eeca5922f98af8df42117e9e869645765d55ecfb3aae615fa6a53c915f7d8a63081c5

Fixes bugzilla #2102861

  • bump ESPResSo version from 4.1.4 to 4.2.0
  • re-enable Open MPI testsuite
  • remove git-based build system

Pull-Request has been merged by junghans

2 years ago

Can you trigger a f36 build using fedpkg build?

Can you trigger a f36 build using fedpkg build?

done: espresso-4.2.0-1.fc37

fc37? Do you mean fc36?

Oops, that was a copy-paste error.

Should I now do fedpkg update to get it on Bohdi? If yes, should I use the following parameters?

type=bugfix
request=testing
bugs=2102861

I always use the web interface, but that sounds right