Skip to content

Commit

Permalink
Merge branch 'master' into fix-link-cells-nopbc
Browse files Browse the repository at this point in the history
  • Loading branch information
Gareth Aneurin Tribello authored and Gareth Aneurin Tribello committed Jan 27, 2025
2 parents 900a1f1 + f0ad13a commit 80fa551
Show file tree
Hide file tree
Showing 1,001 changed files with 178,841 additions and 18,454 deletions.
14 changes: 13 additions & 1 deletion .astyle.options
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
-n --indent=spaces=2 --keep-one-line-statements --keep-one-line-blocks
# long options can be written without the preceding '--'
suffix=none #equivalent to "-n"
style=attach
add-braces
indent=spaces=2
break-one-line-headers

# old options
#suffix=none
#indent=spaces=2
#keep-one-line-statements
#keep-one-line-blocks
# end old options
5 changes: 3 additions & 2 deletions .ci/install.boost
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,9 @@ version_=${version//./_}

echo $version $version_

wget https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_${version_}.tar.gz > /dev/null 2> /dev/null
tar xzf boost_${version_}.tar.gz
#wget https://boostorg.jfrog.io/artifactory/main/release/$version/source/boost_${version_}.tar.gz > /dev/null 2> /dev/null
wget https://sourceforge.net/projects/boost/files/boost/$version/boost_${version_}.tar.bz2 > /dev/null 2> /dev/null
tar xjf boost_${version_}.tar.bz2

cd boost_${version_}

Expand Down
9 changes: 9 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# .git-blame-ignore-revs
# https://docs.github.com/en/repositories/working-with-files/using-files/viewing-a-file#ignore-commits-in-the-blame-view
# please comment the hashes that you add to this
# new astyle applied to v2.9.3
2cd41d16623b7a062b2a716eaf5c91a741cc19ea
# new astyle applied to v2.10
df781b48652d8cdde2994dae1197cdb623f3f3fa
# new astyle applied to v2.11
380bb46eea1bc2a38fba94f3f72af2d8d6e41669
2 changes: 1 addition & 1 deletion .github/workflows/condaWF.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04 , macos-12 , macos-14 ]
os: [ubuntu-20.04 , macos-13 , macos-14 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/linuxWF.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ jobs:
# see https://github.com/plumed/plumed2/issues/976
- -intel-
- -pycv-mpi-
#this does not install mpi but uses the internal one
- -nvhpc-mpi-
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
Expand Down Expand Up @@ -136,6 +138,18 @@ jobs:
echo "CXX=icpx" >> $GITHUB_ENV
echo "CC=icx" >> $GITHUB_ENV
echo "FC=ifx" >> $GITHUB_ENV
- name: Install NVHPC compiler
if: contains( matrix.variant, '-nvhpc-' )
# use this if it does not work
# wget https://developer.download.nvidia.com/hpc-sdk/24.3/nvhpc_2024_243_Linux_x86_64_cuda_12.3.tar.gz
# tar xpzf nvhpc_2024_243_Linux_x86_64_cuda_12.3.tar.gz
# nvhpc_2024_243_Linux_x86_64_cuda_12.3/install
run: |
curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list
sudo apt-get update -y
sudo apt-get install -y nvhpc-24-3
# nvhpcinstalls his own mpi compilers
- name: Install MPI
# install MPI at last since it modifies CC and CXX
if: contains( matrix.variant, '-mpi-' )
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/macWF.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,10 @@ jobs:
matrix:
variant: [ "" , "+allmodules" ]
# this is to test both intel and arm64 macs
os: [ macos-12 , macos-14 ]
# note: macos-14 has a problem in fetching the git repository of plumed, namely a
# "fatal: detected dubious ownership in repository" error
# I didn't find any solution, so for the moment I keep macos-14 off
os: [ macos-13 ]
exclude:
# many tests on contributed modules are still failing for numerical reasons on arm64, see https://github.com/plumed/plumed2/pull/950
# once fixed we could introduce this back:
Expand Down Expand Up @@ -68,7 +71,7 @@ jobs:
fail-fast: false
matrix:
# this is to test both intel and arm64 macs
os: [ macos-12 , macos-14 ]
os: [ macos-13 , macos-14 ]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand Down
37 changes: 0 additions & 37 deletions .github/workflows/nightly.yml

This file was deleted.

1 change: 1 addition & 0 deletions CHANGES/v2.10.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,4 @@ Before switching to version 2.10, users are invited to carefully read the follow
- You can use ActionShortcut to create complex inputs from a simpler initial input. The nest will then allow users to explore these more complex inputs.
- You can use \ref show_graph to create diagrams showing how values and forces are passed between the various actions in your input files.
- Complete refactor of SwitchingFunction.cpp and SwitchingFunction.h, now adding new switching function is more straightforward and all the "book-keeping" can be done within a single class
- Python (cython) wrappers now use `nogil`. This should facilitate integration with Python. See https://github.com/plumed/plumed2/pull/1129#issuecomment-2410867829 (thanks to Guillaume Fraux).
9 changes: 8 additions & 1 deletion CHANGES/v2.9.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,14 @@ Changes from version 2.8 which are relevant for users:
- Includes all fixes up to 2.8.4
- Fixed a size check in python interface when passing native arrays.

## Version 2.9.2 (tba)
## Version 2.9.2 (Sep 3, 2024)
- Patch for GROMACS 2023 updated to the latest version
- new patch for GROMACS 2024
- Small optimization of \ref COORDINATION and related collective variables (\issue{1096}).

## Version 2.9.3 (Jan 15, 2025)
- Patch for GROMACS 2024 was updated to fix a big issue preventing its use

## Version 2.9.4 (in progress)
- Fixed an issue that might lead to a crash when using multicolvars implemented with linked cells and no PBCs, apparently
only showing up with Intel Mac. See \issue{1181}.
21 changes: 11 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,17 @@ Below you find the status on [GitHub Actions](https://github.com/plumed/plumed2/

| Branch | Status | First stable release (year) | Still supported |
|:--------:|:-------------:|:--------:|:------:|
| master | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=master)](https://github.com/plumed/plumed2/actions) | 2024 (expected) | / |
| v2.9 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.9)](https://github.com/plumed/plumed2/actions) | 2023 | yes |
| v2.8 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.8)](https://github.com/plumed/plumed2/actions) | 2022 | yes |
| v2.7 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.7)](https://github.com/plumed/plumed2/actions) | 2020 | no |
| v2.6 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.6)](https://github.com/plumed/plumed2/actions) | 2019 | no |
| v2.5 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.5)](https://github.com/plumed/plumed2/actions) | 2018 | no |
| v2.4 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.4)](https://github.com/plumed/plumed2/actions) | 2017 | no |
| v2.3 | [![Build Status](https://travis-ci.org/plumed/plumed2.svg?branch=v2.3)](https://travis-ci.org/plumed/plumed2) | 2016 | no |
| v2.2 | [![Build Status](https://travis-ci.org/plumed/plumed2.svg?branch=v2.2)](https://travis-ci.org/plumed/plumed2) | 2015 | no |
| v2.1 | [![Build Status](https://travis-ci.org/plumed/plumed2.svg?branch=v2.1)](https://travis-ci.org/plumed/plumed2) | 2014 | no |
| master | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=master)](https://github.com/plumed/plumed2/actions) | 2025 (expected) | / |
| v2.10b | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.10)](https://github.com/plumed/plumed2/actions) | 2024 (expected) | yes |
| v2.9 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.9)](https://github.com/plumed/plumed2/actions) | 2023 | yes |
| v2.8 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.8)](https://github.com/plumed/plumed2/actions) | 2022 | no |
| v2.7 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.7)](https://github.com/plumed/plumed2/actions) | 2020 | no |
| v2.6 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.6)](https://github.com/plumed/plumed2/actions) | 2019 | no |
| v2.5 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.5)](https://github.com/plumed/plumed2/actions) | 2018 | no |
| v2.4 | [![CI](https://github.com/plumed/plumed2/workflows/CI/badge.svg?branch=v2.4)](https://github.com/plumed/plumed2/actions) | 2017 | no |
| v2.3 | Not available | 2016 | no |
| v2.2 | Not available | 2015 | no |
| v2.1 | Not available | 2014 | no |
| v2.0 | Not available | 2013 | no |

Content
Expand Down
2 changes: 1 addition & 1 deletion VERSION.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
# (this is same as gromacs)
# Notice that "plumed info --version" will return only 2.X
# and "plumed info --long-version" will return the full string
2.10.0-dev
2.11.0-dev
Empty file modified astyle/CMakeLists.txt
100755 → 100644
Empty file.
Empty file modified astyle/LICENSE.md
100755 → 100644
Empty file.
Empty file modified astyle/README.md
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-clang/Clang AStyle A.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-clang/Clang AStyle All.workspace
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-clang/Clang AStyle Java.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-clang/Clang AStyle So.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-clang/Clang AStyle.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-gcc/Gcc AStyle A.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-gcc/Gcc AStyle All.workspace
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-gcc/Gcc AStyle Java.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-gcc/Gcc AStyle So.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-gcc/Gcc AStyle.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-intel/Intel AStyle A.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-intel/Intel AStyle All.workspace
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-intel/Intel AStyle Java.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-intel/Intel AStyle So.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/cb-intel/Intel AStyle.cbp
100755 → 100644
Empty file.
Empty file modified astyle/build/clang/Makefile
100755 → 100644
Empty file.
Empty file modified astyle/build/gcc/Makefile
100755 → 100644
Empty file.
Empty file modified astyle/build/intel/Makefile
100755 → 100644
Empty file.
Empty file modified astyle/doc/astyle.html
100755 → 100644
Empty file.
Empty file modified astyle/doc/install.html
100755 → 100644
Empty file.
Empty file modified astyle/doc/news.html
100755 → 100644
Empty file.
Empty file modified astyle/doc/notes.html
100755 → 100644
Empty file.
Empty file modified astyle/doc/styles.css
100755 → 100644
Empty file.
Empty file modified astyle/file/allman.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/astyle.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/chromium.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/gnu.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/google.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/horstmann.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/java.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/linux.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/llvm.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/mozilla.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/stroustrup.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/visualstudio.ini
100755 → 100644
Empty file.
Empty file modified astyle/file/webkit.ini
100755 → 100644
Empty file.
Empty file modified astyle/src/ASBeautifier.cpp
100755 → 100644
Empty file.
Empty file modified astyle/src/ASEnhancer.cpp
100755 → 100644
Empty file.
Empty file modified astyle/src/ASFormatter.cpp
100755 → 100644
Empty file.
Empty file modified astyle/src/ASLocalizer.cpp
100755 → 100644
Empty file.
Empty file modified astyle/src/ASLocalizer.h
100755 → 100644
Empty file.
Empty file modified astyle/src/ASResource.cpp
100755 → 100644
Empty file.
Empty file modified astyle/src/astyle.h
100755 → 100644
Empty file.
Empty file modified astyle/src/astyle_main.cpp
100755 → 100644
Empty file.
Empty file modified astyle/src/astyle_main.h
100755 → 100644
Empty file.
4 changes: 4 additions & 0 deletions conda/plumed/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ export CXXFLAGS="${CXXFLAGS//-O2/-O3}"
if [[ $(uname) == "Darwin" ]]; then
# see https://conda-forge.org/docs/maintainer/knowledge_base.html#newer-c-features-with-old-sdk
CXXFLAGS="${CXXFLAGS} -D_LIBCPP_DISABLE_AVAILABILITY"

# for some unexpected reason, when building on MacOS plumed 2.10 (likely because of C++17) # we need to pass the arguments below.
# if we do not do so, linking plumed-runtime fails because the destructor of std::bad_function_call is not found
export STATIC_LIBS="-Wl,-rpath,$PREFIX/lib -L$PREFIX/lib"
fi

# libraries are explicitly listed here due to --disable-libsearch
Expand Down
35 changes: 7 additions & 28 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -2341,7 +2341,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu


# PLUMED_CHECK_LDFLAGS(flag)
# use it to check if a flag is available on this compiler
# use it to check if a flag is available for linking


# PLUMED_SEARCH_LIBS(function,search-libs[,action-if-found][,action-if-not-found][,other-libraries])
Expand Down Expand Up @@ -9664,26 +9664,13 @@ fi
if test $libtorch = true ; then
# disable as-needed in linking libraries (both static and shared)

save_CXXFLAGS="$CXXFLAGS"
CXXFLAGS="$CXXFLAGS -Wl,--no-as-needed"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -Wl,--no-as-needed" >&5
$as_echo_n "checking whether $CXX accepts -Wl,--no-as-needed... " >&6; }
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -Wl,--no-as-needed"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether LDFLAGS can contain -Wl,--no-as-needed" >&5
$as_echo_n "checking whether LDFLAGS can contain -Wl,--no-as-needed... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_cxx_try_compile "$LINENO"; then :

cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
Expand All @@ -9696,20 +9683,12 @@ if ac_fn_cxx_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not linking" >&5
$as_echo "not linking" >&6; }; CXXFLAGS="$save_CXXFLAGS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }; LDFLAGS="$save_LDFLAGS"
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext

else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }; CXXFLAGS="$save_CXXFLAGS"

fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext

LDSHARED="$LDSHARED -Wl,--no-as-needed "

# CUDA and CPU libtorch libs have different libraries
# first test CUDA program
Expand Down
5 changes: 2 additions & 3 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ AC_DEFUN([PLUMED_CHECK_CFLAG], [
])

# PLUMED_CHECK_LDFLAGS(flag)
# use it to check if a flag is available on this compiler
# use it to check if a flag is available for linking
AC_DEFUN([PLUMED_CHECK_LDFLAGS], [
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $1"
Expand Down Expand Up @@ -935,8 +935,7 @@ fi
#added by luigibonati
if test $libtorch = true ; then
# disable as-needed in linking libraries (both static and shared)
PLUMED_CHECK_CXXFLAG([-Wl,--no-as-needed])
LDSHARED="$LDSHARED -Wl,--no-as-needed "
PLUMED_CHECK_LDFLAGS([-Wl,--no-as-needed])

# CUDA and CPU libtorch libs have different libraries
# first test CUDA program
Expand Down
3 changes: 2 additions & 1 deletion developer-doc/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@
/*PP.txt
/links-to-user-manual.md
/plumedcheck.md
/coverage
/coverage*/
/coverage*

21 changes: 10 additions & 11 deletions developer-doc/AddingRegressionTests.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,18 +49,17 @@ extra_files="../../trajectories/diala_traj_nm.xyz ../trajectories/path_msd/all.
- The first line in this file - the one containing the string mpiprocs=2 - tells PLUMED that when this regtest should be run using MPI on two nodes.
If mpiprocs is not specified then PLUMED will, by default, run the test one node.

- The second line tells PLUMED that the test is to be performed using the command line tool <a href="../../user-doc/html/driver.html">driver</a>.
There are four options that you can use here:
type=driver tells PLUMED to run the test by reading in a trajectory and analysing it using <a href="../../user-doc/html/driver.html">driver</a>,
type=simplemd tells PLUMED that the test will involve
running some Lennard Jones MD using <a href="../../user-doc/html/simplemd.html">simplemd</a>,
type=sum_hills tells PLUMED that the test will involve summing gaussians using the
<a href="../../user-doc/html/sum_hills.html">sum_hills</a> untility
and type=make tells PLUMED that a main function (called main.cpp) is included in the regtest directory and that the test should compile this function, link in
the PLUMED library and run the resulting executible. The vast majority of features are best tested using type=driver here although the type=make function
can be useful for testing tools that are used in many places in the code (see the code in regtest/basic/rt-make-4 for an example of how use type=make to test
PLUMED's internal matrix class). If you need to test PLUMED in a way that is not included in these various types please contact the PLUMED developers before
- The second line tells PLUMED that the test is to be performed using the command line tool <a href="../../user-doc/html/driver.html">driver</a>.
The vast majority of features are best tested using type=driver here although the type=make function can be useful for testing tools that are used in many places in the code (see the code in regtest/basic/rt-make-4 for an example of how use type=make to test PLUMED's internal matrix class). If you need to test PLUMED in a way that is not included in these various types please contact the PLUMED developers before
making any changes.
There are four options that you can use here:
- type=driver tells PLUMED to run the test by reading in a trajectory and analysing it using <a href="../../user-doc/html/driver.html">driver</a>,
- type=simplemd tells PLUMED that the test will involve
running some Lennard Jones MD using <a href="../../user-doc/html/simplemd.html">simplemd</a>,
- type=sum_hills tells PLUMED that the test will involve summing gaussians using the
<a href="../../user-doc/html/sum_hills.html">sum_hills</a> utility
- type=make tells PLUMED that a main function (called main.cpp) is included in the regtest directory and that the test should compile this function, link in
the PLUMED library and run the resulting executible.

- The third line - the one containing the string plumed_modules=adjmat - tells PLUMED that this regtest needs the optional module adjmat to be installed in
order for it to be run. Before trying to run this test PLUMED will thus check whether or not the module is installed. If it is not installed then it will
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -1089,6 +1089,13 @@ void gmx::LegacySimulator::do_md()
do_verbose && !bPMETunePrinting);
upd.updateAfterPartition(state_->numAtoms(), md->cFREEZE, md->cTC, md->cACC);
fr_->longRangeNonbondeds->updateAfterPartition(*md);
/* PLUMED */
if(plumedswitch){
int nat_home = dd_numHomeAtoms(*cr_->dd);
plumed_cmd(plumedmain,"setAtomsNlocal",&nat_home);
plumed_cmd(plumedmain,"setAtomsGatindex",cr_->dd->globalAtomIndices.data());
}
/* END PLUMED */
}
}

Expand Down Expand Up @@ -1721,7 +1728,6 @@ void gmx::LegacySimulator::do_md()
trotter_update(ir,
step,
ekind_,
enerd_,
state_,
total_vir,
md->homenr,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1480,7 +1480,6 @@ void gmx::LegacySimulator::do_md()
trotter_update(ir,
step,
ekind_,
enerd_,
state_,
total_vir,
md->homenr,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2248,11 +2248,15 @@ int Mdrunner::mdrunner()
deviceStreamManager->context(),
deviceStreamManager->stream(gmx::DeviceStreamType::NonBondedLocal),
wcycle.get());
fr->gpuForceReduction[gmx::AtomLocality::NonLocal] =
std::make_unique<gmx::GpuForceReduction>(
deviceStreamManager->context(),
deviceStreamManager->stream(gmx::DeviceStreamType::NonBondedNonLocal),
wcycle.get());

if (runScheduleWork.simulationWork.havePpDomainDecomposition)
{
fr->gpuForceReduction[gmx::AtomLocality::NonLocal] =
std::make_unique<gmx::GpuForceReduction>(
deviceStreamManager->context(),
deviceStreamManager->stream(gmx::DeviceStreamType::NonBondedNonLocal),
wcycle.get());
}

if (runScheduleWork.simulationWork.useMdGpuGraph)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2234,11 +2234,15 @@ int Mdrunner::mdrunner()
deviceStreamManager->context(),
deviceStreamManager->stream(gmx::DeviceStreamType::NonBondedLocal),
wcycle.get());
fr->gpuForceReduction[gmx::AtomLocality::NonLocal] =
std::make_unique<gmx::GpuForceReduction>(
deviceStreamManager->context(),
deviceStreamManager->stream(gmx::DeviceStreamType::NonBondedNonLocal),
wcycle.get());

if (runScheduleWork.simulationWork.havePpDomainDecomposition)
{
fr->gpuForceReduction[gmx::AtomLocality::NonLocal] =
std::make_unique<gmx::GpuForceReduction>(
deviceStreamManager->context(),
deviceStreamManager->stream(gmx::DeviceStreamType::NonBondedNonLocal),
wcycle.get());
}

if (runScheduleWork.simulationWork.useMdGpuGraph)
{
Expand Down
Loading

0 comments on commit 80fa551

Please sign in to comment.