Skip to content

Commit

Permalink
Merge branch 'v2.10'
Browse files Browse the repository at this point in the history
  • Loading branch information
carlocamilloni committed Oct 10, 2024
2 parents 2dfbfc8 + 56789e9 commit 49f558f
Show file tree
Hide file tree
Showing 10 changed files with 70 additions and 3 deletions.
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
2 changes: 2 additions & 0 deletions CHANGES/v2.9.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,5 @@ Changes from version 2.8 which are relevant for users:
- new patch for GROMACS 2024
- Small optimization of \ref COORDINATION and related collective variables (\issue{1096}).

## Version 2.9.3 (tba)
- Patch for GROMACS 2024 was updated to fix a big issue preventing its use
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*

12 changes: 12 additions & 0 deletions regtest/basic/rt-WALLS-sign/COLVAR.reference
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#! FIELDS time p.x uw1.bias lw1.bias uw2.bias lw2.bias uw3.bias lw3.bias uw4.bias lw4.bias uw1.force2 lw1.force2 uw2.force2 lw2.force2 uw3.force2 lw3.force2 uw4.force2 lw4.force2
0.000000 -5.000000 0.000000 5.000000 0.000000 25.000000 0.000000 125.000000 0.000000 625.000000 0.000000 1.000000 0.000000 100.000000 0.000000 5625.000000 0.000000 250000.000000
1.000000 -4.000000 0.000000 4.000000 0.000000 16.000000 0.000000 64.000000 0.000000 256.000000 0.000000 1.000000 0.000000 64.000000 0.000000 2304.000000 0.000000 65536.000000
2.000000 -3.000000 0.000000 3.000000 0.000000 9.000000 0.000000 27.000000 0.000000 81.000000 0.000000 1.000000 0.000000 36.000000 0.000000 729.000000 0.000000 11664.000000
3.000000 -2.000000 0.000000 2.000000 0.000000 4.000000 0.000000 8.000000 0.000000 16.000000 0.000000 1.000000 0.000000 16.000000 0.000000 144.000000 0.000000 1024.000000
4.000000 -1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 4.000000 0.000000 9.000000 0.000000 16.000000
5.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
6.000000 1.000000 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 1.000000 0.000000 4.000000 0.000000 9.000000 0.000000 16.000000 0.000000
7.000000 2.000000 2.000000 0.000000 4.000000 0.000000 8.000000 0.000000 16.000000 0.000000 1.000000 0.000000 16.000000 0.000000 144.000000 0.000000 1024.000000 0.000000
8.000000 3.000000 3.000000 0.000000 9.000000 0.000000 27.000000 0.000000 81.000000 0.000000 1.000000 0.000000 36.000000 0.000000 729.000000 0.000000 11664.000000 0.000000
9.000000 4.000000 4.000000 0.000000 16.000000 0.000000 64.000000 0.000000 256.000000 0.000000 1.000000 0.000000 64.000000 0.000000 2304.000000 0.000000 65536.000000 0.000000
10.000000 5.000000 5.000000 0.000000 25.000000 0.000000 125.000000 0.000000 625.000000 0.000000 1.000000 0.000000 100.000000 0.000000 5625.000000 0.000000 250000.000000 0.000000
1 change: 1 addition & 0 deletions regtest/basic/rt-WALLS-sign/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include ../../scripts/test.make
11 changes: 11 additions & 0 deletions regtest/basic/rt-WALLS-sign/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
type=driver
arg="--plumed plumed.dat --ixyz trajectory.xyz"


function plumed_regtest_before() {
for x in {-5..5}; do
echo "1"
echo "100 100 100"
echo "C $x 0 0"
done > trajectory.xyz
}
12 changes: 12 additions & 0 deletions regtest/basic/rt-WALLS-sign/der.reference
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#! FIELDS time parameter uw1.bias lw1.bias uw2.bias lw2.bias uw3.bias lw3.bias uw4.bias lw4.bias
0.000000 0 0.000 -1.000 0.000 -10.000 0.000 -75.000 0.000 -500.000
1.000000 0 0.000 -1.000 0.000 -8.000 0.000 -48.000 0.000 -256.000
2.000000 0 0.000 -1.000 0.000 -6.000 0.000 -27.000 0.000 -108.000
3.000000 0 0.000 -1.000 0.000 -4.000 0.000 -12.000 0.000 -32.000
4.000000 0 0.000 -1.000 0.000 -2.000 0.000 -3.000 0.000 -4.000
5.000000 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
6.000000 0 1.000 0.000 2.000 0.000 3.000 0.000 4.000 0.000
7.000000 0 1.000 0.000 4.000 0.000 12.000 0.000 32.000 0.000
8.000000 0 1.000 0.000 6.000 0.000 27.000 0.000 108.000 0.000
9.000000 0 1.000 0.000 8.000 0.000 48.000 0.000 256.000 0.000
10.000000 0 1.000 0.000 10.000 0.000 75.000 0.000 500.000 0.000
13 changes: 13 additions & 0 deletions regtest/basic/rt-WALLS-sign/plumed.dat
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
p: POSITION ATOM=1 NOPBC

uw1: UPPER_WALLS ARG=p.x AT=0 KAPPA=1.0 EXP=1
lw1: LOWER_WALLS ARG=p.x AT=0 KAPPA=1.0 EXP=1
uw2: UPPER_WALLS ARG=p.x AT=0 KAPPA=1.0 EXP=2
lw2: LOWER_WALLS ARG=p.x AT=0 KAPPA=1.0 EXP=2
uw3: UPPER_WALLS ARG=p.x AT=0 KAPPA=1.0 EXP=3
lw3: LOWER_WALLS ARG=p.x AT=0 KAPPA=1.0 EXP=3
uw4: UPPER_WALLS ARG=p.x AT=0 KAPPA=1.0 EXP=4
lw4: LOWER_WALLS ARG=p.x AT=0 KAPPA=1.0 EXP=4

PRINT ARG=p.x,*.bias,*.force2 FILE=COLVAR
DUMPDERIVATIVES ARG=*.bias FILE=der FMT=%04.3f
2 changes: 1 addition & 1 deletion src/bias/Walls.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Walls::Walls(const ActionOptions&ao):
readInputLine( getShortcutLabel() + "_pow_" + argn + ": CUSTOM PERIODIC=NO FUNC=step(x)*x^" + exp[i] + " ARG=" + getShortcutLabel() + "_scale_" + argn );
} else if( getName()=="LOWER_WALLS" ) {
readInputLine( getShortcutLabel() + "_scale_" + argn + ": CUSTOM PERIODIC=NO FUNC=(x-" + offset[i] +")/" + eps[i] + " ARG=" + getShortcutLabel() + "_cv_" + argn );
readInputLine( getShortcutLabel() + "_pow_" + argn + ": CUSTOM PERIODIC=NO FUNC=step(-x)*x^" + exp[i] + " ARG=" + getShortcutLabel() + "_scale_" + argn );
readInputLine( getShortcutLabel() + "_pow_" + argn + ": CUSTOM PERIODIC=NO FUNC=step(-x)*(-x)^" + exp[i] + " ARG=" + getShortcutLabel() + "_scale_" + argn );
}
readInputLine( getShortcutLabel() + "_v_wall_" + argn + ": CUSTOM PERIODIC=NO FUNC=" + kappa[i] +"*x" + " ARG=" + getShortcutLabel() + "_pow_" + argn );
readInputLine( getShortcutLabel() + "_wall_" + argn + ": SUM ARG=" + getShortcutLabel() + "_v_wall_" + argn + " PERIODIC=NO");
Expand Down
3 changes: 2 additions & 1 deletion src/tools/MergeVectorTools.h
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ static void mergeSortedVectors(const C* const* vecs, std::size_t size, std::vect
/// to allow using a priority_queu, which selects the highest element.
/// we here (counterintuitively) define < as >
bool operator< (Entry const& rhs) const { return top() > rhs.top(); }
const auto & top() const { return *fwdIt; }
// TODO: revert "typename C::value_type" to "auto": nvc++ and icpc seems to do not deduce automatically the return type
const typename C::value_type & top() const { return *fwdIt; }
void next() { ++fwdIt;};
};

Expand Down

1 comment on commit 49f558f

@PlumedBot
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Found broken examples in automatic/ANGLES.tmp
Found broken examples in automatic/ANN.tmp
Found broken examples in automatic/CAVITY.tmp
Found broken examples in automatic/CLASSICAL_MDS.tmp
Found broken examples in automatic/CLUSTER_DIAMETER.tmp
Found broken examples in automatic/CLUSTER_DISTRIBUTION.tmp
Found broken examples in automatic/CLUSTER_PROPERTIES.tmp
Found broken examples in automatic/CONSTANT.tmp
Found broken examples in automatic/CONTACT_MATRIX.tmp
Found broken examples in automatic/CONTACT_MATRIX_PROPER.tmp
Found broken examples in automatic/CONVERT_TO_FES.tmp
Found broken examples in automatic/COORDINATIONNUMBER.tmp
Found broken examples in automatic/DFSCLUSTERING.tmp
Found broken examples in automatic/DISTANCE_FROM_CONTOUR.tmp
Found broken examples in automatic/DUMPCUBE.tmp
Found broken examples in automatic/DUMPGRID.tmp
Found broken examples in automatic/EDS.tmp
Found broken examples in automatic/EMMI.tmp
Found broken examples in automatic/ENVIRONMENTSIMILARITY.tmp
Found broken examples in automatic/FIND_CONTOUR.tmp
Found broken examples in automatic/FIND_CONTOUR_SURFACE.tmp
Found broken examples in automatic/FIND_SPHERICAL_CONTOUR.tmp
Found broken examples in automatic/FOURIER_TRANSFORM.tmp
Found broken examples in automatic/FUNCPATHGENERAL.tmp
Found broken examples in automatic/FUNCPATHMSD.tmp
Found broken examples in automatic/FUNNEL.tmp
Found broken examples in automatic/FUNNEL_PS.tmp
Found broken examples in automatic/GHBFIX.tmp
Found broken examples in automatic/GPROPERTYMAP.tmp
Found broken examples in automatic/HBOND_MATRIX.tmp
Found broken examples in automatic/HISTOGRAM.tmp
Found broken examples in automatic/INCLUDE.tmp
Found broken examples in automatic/INCYLINDER.tmp
Found broken examples in automatic/INENVELOPE.tmp
Found broken examples in automatic/INTERPOLATE_GRID.tmp
Found broken examples in automatic/LOCAL_AVERAGE.tmp
Found broken examples in automatic/MAZE_OPTIMIZER_BIAS.tmp
Found broken examples in automatic/MAZE_RANDOM_ACCELERATION_MD.tmp
Found broken examples in automatic/MAZE_SIMULATED_ANNEALING.tmp
Found broken examples in automatic/MAZE_STEERED_MD.tmp
Found broken examples in automatic/METATENSOR.tmp
Found broken examples in automatic/MULTICOLVARDENS.tmp
Found broken examples in automatic/OUTPUT_CLUSTER.tmp
Found broken examples in automatic/PAMM.tmp
Found broken examples in automatic/PCA.tmp
Found broken examples in automatic/PCAVARS.tmp
Found broken examples in automatic/PIV.tmp
Found broken examples in automatic/PLUMED.tmp
Found broken examples in automatic/PYCVINTERFACE.tmp
Found broken examples in automatic/PYTHONFUNCTION.tmp
Found broken examples in automatic/Q3.tmp
Found broken examples in automatic/Q4.tmp
Found broken examples in automatic/Q6.tmp
Found broken examples in automatic/QUATERNION.tmp
Found broken examples in automatic/REWEIGHT_BIAS.tmp
Found broken examples in automatic/REWEIGHT_METAD.tmp
Found broken examples in automatic/SIZESHAPE_POSITION_LINEAR_PROJ.tmp
Found broken examples in automatic/SIZESHAPE_POSITION_MAHA_DIST.tmp
Found broken examples in automatic/SPRINT.tmp
Found broken examples in automatic/TETRAHEDRALPORE.tmp
Found broken examples in automatic/TORSIONS.tmp
Found broken examples in automatic/WHAM_HISTOGRAM.tmp
Found broken examples in automatic/WHAM_WEIGHTS.tmp
Found broken examples in AnalysisPP.md
Found broken examples in CollectiveVariablesPP.md
Found broken examples in MiscelaneousPP.md

Please sign in to comment.