alexxy/gromacs.git
3 years agoGROMACS 2020.6 release
Paul Bauer [Wed, 3 Mar 2021 13:35:30 +0000 (14:35 +0100)]
GROMACS 2020.6 release

Set DOI strings.
Set release date.
Update regtest hash.

3 years agoFix webpage build
Paul Bauer [Fri, 26 Feb 2021 14:15:00 +0000 (14:15 +0000)]
Fix webpage build

Release notes had invalid syntax that needed fixing.

3 years agoDisable cos acceleration for non leap-frog code paths
Pascal Merz [Thu, 11 Feb 2021 06:23:24 +0000 (23:23 -0700)]
Disable cos acceleration for non leap-frog code paths

The cos acceleration is only applied in leap-frog. grompp and mdrun
would, however, happily accept non-zero cos-accel input, and report
viscosity-related quantities without ever applying the acceleration
for all other integrators.

This change adds a check at grompp time (to avoid new tprs with
non-implemented parameter combinations being created), and at
runner time (to catch older tprs). Should probably be backported
to the supported releases.

Refs #3903

3 years agoFix range check bug in gmx covar
Paul Bauer [Tue, 9 Feb 2021 05:14:34 +0000 (05:14 +0000)]
Fix range check bug in gmx covar

Range checking was done the wrong way around.

Fixes #3902

3 years agoPrepare for GROMACS 2020.6
Christian Blau [Thu, 7 Jan 2021 07:51:56 +0000 (07:51 +0000)]
Prepare for GROMACS 2020.6

Reset DOI strings.
Prepare release note stubs.
Set patch number in build infrastructure.

3 years agoGROMACS version 2020.5
Christian Blau [Wed, 6 Jan 2021 12:45:31 +0000 (12:45 +0000)]
GROMACS version 2020.5

Set DOI strings.

3 years agoUpdate src/regressiontests URLs to https
Szilárd Páll [Tue, 5 Jan 2021 20:58:23 +0000 (20:58 +0000)]
Update src/regressiontests URLs to https

With the recent server migration we support https downloads and we
should offer those over http.
Also updated the regressiontests URL to point to the ftp server.

3 years agoFix broken random seed generation.
Kevin Boyd [Wed, 30 Dec 2020 17:51:25 +0000 (09:51 -0800)]
Fix broken random seed generation.

On Ryzen 3k CPUs with the RDRAND microcode bug, the
std::mt19937_64 alternate path yields the same seed
on multiple calls that fall within the same second. Changed
the "seed" of the random seed to rescramble each time the
makeRandomSeed() function is called.

Fixes #3859

3 years agoFix copyright year
Christian Blau [Tue, 5 Jan 2021 12:29:37 +0000 (13:29 +0100)]
Fix copyright year

Merging !423 on January 1st 2021 causes the pipeline to fail
due to a missed copyright year update.

The copyright year is updated with this patch.

3 years agoExpanded ensemble changes.
Michael Shirts [Fri, 1 Jan 2021 10:30:38 +0000 (10:30 +0000)]
Expanded ensemble changes.

Fix the numerical stability issues encountered with simulated tempering (also, would have occurred with any alchemical problem with large energy differences between states). In most cases, we simply flip the form around and compute an alternate form that always gives a 0 instead of infinity when the energy difference between states is too far in any direction. Also added a citation. Fixes https://gitlab.com/gromacs/gromacs/-/issues/3304

Note that there is no way to get good estimates for free energy differences between states with the very large differences between examples. One of the numerical stability fixes is not expected to be great, but it's not really relevant since nothing would work in this case; using Wang-Landau (i.e. visitation based approaches) rather than metropolis style methods (energy difference analysis methods) is the only thing that works.

3 years agoFix pull group index handling
Paul Bauer [Mon, 14 Dec 2020 12:44:02 +0000 (12:44 +0000)]
Fix pull group index handling

The pull code never validated its own index groups, leading to the
possibility of an invalid group either hanging the process or triggering
an assertion, depending on the build type.

Fixed by introducing the check for other index groups also to pull
groups.

Fixes #3810

3 years agoFix incorrect AWH free-energy output with multiple walkers
Magnus Lundborg [Mon, 14 Dec 2020 11:22:48 +0000 (11:22 +0000)]
Fix incorrect AWH free-energy output with multiple walkers

The free-energy was averaged exponentially over walkers using the wrong
sign for the exponent. The meant that the free-energy output was off
for large update sizes. This error was quadratic in the update interval
and the number of walkers. This likely has no measurable effects with
the default AWH free-energy update interval. But the effect is noticeable
with the not uncommon update interval of 1000 steps.

Fixes: #3828

3 years agoFix indexing bug in electric field module
Paul Bauer [Wed, 9 Dec 2020 14:45:51 +0000 (14:45 +0000)]
Fix indexing bug in electric field module

Improper refactoring in c8eca5d1f27cc34903718ade7d44527c22ec3d93 lead to
the module using the wrong maximum atom index for applying the electric
field forces to atoms.

Fixes #3800

3 years agoFix Nose-Hoover conserved energy
Pascal Merz [Mon, 7 Dec 2020 08:42:44 +0000 (08:42 +0000)]
Fix Nose-Hoover conserved energy

Closes #3831

3 years agoFix kinetic energy and temperatures reporting
Pascal Merz [Wed, 2 Dec 2020 07:37:43 +0000 (00:37 -0700)]
Fix kinetic energy and temperatures reporting

Fixes the reporting of kinetic energy and temperatures, which is
(very slightly) off in md-vv with Trotter NPT (Nose-Hoover & MTTK)
in the legacy code path.

Closes #3832

3 years agoFix pull fatal error message
Berk Hess [Thu, 26 Nov 2020 08:33:36 +0000 (09:33 +0100)]
Fix pull fatal error message

Fix pull group indices in fatal error message for geometries with
more than two groups.

Refs #3613

3 years agoFix gmx h2order -d option
Paul Bauer [Tue, 24 Nov 2020 10:22:47 +0000 (11:22 +0100)]
Fix gmx h2order -d option

The code to implement this was never added.

Fixes #3820

3 years agoFixes for Intel and container build fixes
Paul Bauer [Mon, 23 Nov 2020 20:51:28 +0000 (20:51 +0000)]
Fixes for Intel and container build fixes

Generalizes the TSAN build stage to a compiler build stage, and uses
it for containing the installation process for the free Intel tools

Fixed or worked around several bugs

Updated install guide section on tested platforms to describe
what we actually do

Refs #3459, #3620

Change-Id: I28e4b816923395edead9d425cec5d85581e22b5e

3 years agoFix gmx do_dssp CHARMM support
Paul Bauer [Wed, 11 Nov 2020 14:36:20 +0000 (15:36 +0100)]
Fix gmx do_dssp CHARMM support

The tool would not work correctly due to issues with detecting some
oxygen molecules.

Fixes #3568

3 years agoFix segmentation fault in gmx pairdist
Paul Bauer [Wed, 11 Nov 2020 13:56:29 +0000 (13:56 +0000)]
Fix segmentation fault in gmx pairdist

When using the pairdist tool with a coordinate in space as selection,
the tool would overwrite the selection group of the selection by default
to implement reference grouping. This would change the selection type of
the coordinate from INDEX_UNKNOWN to INDEX_ALL by default (or to any
other user supplied reference grouping). The change of the selection
type would then later cause a segmentation fault, as the underlying
machinery would try to access the non-existing atoms belonging to the
selection.

This changes the mechanism to no longer overwrite the selection group
type if the current one is INDEX_UNKNOWN.

Introduces test case with command line selection that would crash
without the fix.

Fixes #3762

3 years agoFix dHdl and foreign energy clearing at checkpointing
Berk Hess [Mon, 9 Nov 2020 20:37:31 +0000 (21:37 +0100)]
Fix dHdl and foreign energy clearing at checkpointing

The code copying dH/dl and foreign lambda energies to the checkpoint
data structures copied the wrong way around leading to zero values
being written to energy file for steps in between the last energy
frame and the checkpoint.

Fixes #3763

3 years agoFix MTTK constant energy bugs
Pascal Merz [Tue, 10 Nov 2020 03:01:39 +0000 (20:01 -0700)]
Fix MTTK constant energy bugs

Fixes #3796

This also fixes an unclear comment relating to the barostat
Nose-Hoover chain variables in t_state.

3 years agoRework handling of PATH-like variables in GMXRC.bash/zsh
Andrey Alekseenko [Thu, 29 Oct 2020 18:21:16 +0000 (19:21 +0100)]
Rework handling of PATH-like variables in GMXRC.bash/zsh

Old version was not robust to various kinds of trailing colons, as
experienced in, e.g., #3219.

To make it all safer, a single function, that removes the
old path and adds the new one to the beginning, is introduced.

Tested with:
- GNU bash 4.4.20
- GNU bash 5.0.17
- zsh 5.8
- dash 0.5.8

```
$ replace_in_path ":" "/new" "/old"
/new:
$ replace_in_path "" "/new" "/old"
/new
$ replace_in_path "/old" "/new" "/old"
/new
$ replace_in_path "/old:" "/new" "/old"
/new:
$ replace_in_path "/old:/other" "/new" "/old"
/new:/other
$ replace_in_path ":/other" "/new" "/old"
/new::/other
$ replace_in_path "/other:" "/new" "/old"
/new:/other:
$ replace_in_path "/other:/old" "/new" "/old"
/new:/other
```

Full test:

```
$ bash -c 'MANPATH=''; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man
$ bash -c 'MANPATH=':'; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:
$ bash -c 'MANPATH='/abc'; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:/abc
$ bash -c 'MANPATH='/abc:'; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:/abc:

$ bash -c 'MANPATH=':'; . scripts/GMXRC.bash; . scripts/GMXRC.bash; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:
$ bash -c 'MANPATH=''; . scripts/GMXRC.bash; . scripts/GMXRC.bash; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man
$ bash -c 'MANPATH='/abc'; . scripts/GMXRC.bash; . scripts/GMXRC.bash; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:/abc
$ bash -c 'MANPATH='/abc:'; . scripts/GMXRC.bash; . scripts/GMXRC.bash; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:/abc:
```

Closes #2628, #3219

3 years agoUse and properly initialize PRNG when hardware random number generation is not working
Artem Zhmurov [Thu, 22 Oct 2020 16:22:25 +0000 (16:22 +0000)]
Use and properly initialize PRNG when hardware random number generation is not working

The bug with hardware random number generation can cause picking of cool quotes to freeze in an infinite loop on some Ryzen systems. This patch checks the system for the bug and falls back to PRNGs. Also, the initial fix did not seed the PRNG for seed creation properly. This caused different independent runs to use the same PRNG sequence on affected systems. This fixes the issue by using the the timer value to seed PRNG and also switches to MT PRNG for initial seeding.

3 years agoChange outdated remdine references to gitlab
Christian Blau [Thu, 22 Oct 2020 11:08:45 +0000 (11:08 +0000)]
Change outdated remdine references to gitlab

Update references from redmine to gitlab. Applies to current master as well.

3 years agoFix pull code bug with DD and atom sets
Berk Hess [Wed, 21 Oct 2020 20:14:46 +0000 (22:14 +0200)]
Fix pull code bug with DD and atom sets

The local pull groups were constructed before instead of after
constructing the local atom sets, which were needed for setting
the relative atom weights and with more than 32 DD PP-ranks.

Fixes #3750

3 years agoEnsure that gmx covar does not access indices out of bounds
Christian Blau [Wed, 21 Oct 2020 15:34:11 +0000 (15:34 +0000)]
Ensure that gmx covar does not access indices out of bounds

Exit early with message to user if requested analysis or fitting
indices to not match with number of atoms in structure or
trajectory file instead of returning with a segfault.

Closes #3737

3 years agoClarify that mdtutorials are not provided by the gromacs team
Christian Blau [Wed, 21 Oct 2020 06:50:08 +0000 (06:50 +0000)]
Clarify that mdtutorials are not provided by the gromacs team

Update wording in how-to guides that link to mdtutorials.com that
are maintained by Justin Lemkul.

3 years agoFix missing copyright and release notes
Paul Bauer [Tue, 13 Oct 2020 12:35:54 +0000 (12:35 +0000)]
Fix missing copyright and release notes

Change-Id: I23153cd393ca8f40bda16871ff25d3285c7fe2ed

3 years agoAdd missing header in shake to fix mac clang compilation
Christian Blau [Tue, 13 Oct 2020 07:48:57 +0000 (09:48 +0200)]
Add missing header in shake to fix mac clang compilation

Missing <cstdlib> fails compilation due to usage of qsort
on mac.

Closes #3730

3 years agoFix excessive hackblock warning output
Paul Bauer [Wed, 7 Oct 2020 15:32:21 +0000 (15:32 +0000)]
Fix excessive hackblock warning output

Used the wrong string comparison when checking if entries are equal in
the hackblock and rtp entries.

Fixes #3722

Change-Id: I6fecf2746a16a1694232b2c0d15c810dc0d67ec2

3 years agoPrepare for GROMACS 2020.5
Paul Bauer [Fri, 2 Oct 2020 09:32:41 +0000 (11:32 +0200)]
Prepare for GROMACS 2020.5

Reset DOI strings. Added new release note stubs.

Change-Id: I40615b30bc42b8d7e79bcbe6154d002412519abf

3 years agoGROMACS version 2020.4
Paul Bauer [Tue, 6 Oct 2020 11:23:18 +0000 (11:23 +0000)]
GROMACS version 2020.4

Updated regtest hash and set DOI strings.

Change-Id: I42e99173615898b963c86b0a1db3770c5f071051

3 years agoFix debug message location
Paul Bauer [Mon, 5 Oct 2020 14:45:54 +0000 (14:45 +0000)]
Fix debug message location

Also more release note fixes.

Change-Id: Id107ec9102f49dda0ba6c83a591fa14ae9b72c29

3 years agoWork-around for RDRAND returning -1 on Ryzen
Paul Bauer [Fri, 2 Oct 2020 14:40:50 +0000 (14:40 +0000)]
Work-around for RDRAND returning -1 on Ryzen

Due to a bug, RDRAND can always return -1 instead of a random number.
This introduces a work-around to the problem by switching to PRNG in
case the RDRAND returns -1 twice in a row.

3 years agoFix FEP lambda interpolation for reruns
Christian Blau [Fri, 2 Oct 2020 07:50:52 +0000 (07:50 +0000)]
Fix FEP lambda interpolation for reruns

FEP lambda interpolation fix is now also applied when re-running simulations.

Closes #3585

3 years agoFix post merge acceptance pipeline for release-2020
Paul Bauer [Thu, 1 Oct 2020 12:12:24 +0000 (14:12 +0200)]
Fix post merge acceptance pipeline for release-2020

The logic didn't want to pick up the pipelines for merged commits.

Change-Id: I876d7ce975611bcc5466e5e984ed40de72a456ca

3 years agoFix the FEP lambda interpolation
Christian Blau [Thu, 1 Oct 2020 11:52:26 +0000 (11:52 +0000)]
Fix the FEP lambda interpolation

Setting any lambda array, initial lambda or state != 0, the
interpolated lambda values were wrongly interpolated. This
patch fixes this behaviour.

3 years agoUpdate CI on 2020 branch
Paul Bauer [Wed, 30 Sep 2020 13:22:48 +0000 (13:22 +0000)]
Update CI on 2020 branch

Now uses similar settings as master.

Change-Id: I2df3ab916930108afaa63830b7fd92680d837584

3 years agoFix bug resetting mdatoms masses to lambda=0 state
Pascal Merz [Wed, 30 Sep 2020 07:25:45 +0000 (07:25 +0000)]
Fix bug resetting mdatoms masses to lambda=0 state

When DD is used, the mdatoms masses were reset to their lambda=0 state
after every DD step. This is fixed by making the DomDecHelper aware of
the FEP element.

Note that the use of MDAtoms should likely be revisited to allow for a
more elegant solution, but this would likely require changes which are
less local than the proposed solution here. Further development is
therefore deferred to #3700.

3 years agoDon't use fah_fsync
Artem Zhmurov [Tue, 29 Sep 2020 14:24:21 +0000 (14:24 +0000)]
Don't use fah_fsync

There's no need in a custom fsync functionality for F@H core.

Signed-off-by: Dmitry Moskalchuk <dm@crystax.net>
3 years agoChange download for regressiontest away from gerrit
Paul Bauer [Mon, 28 Sep 2020 11:43:37 +0000 (13:43 +0200)]
Change download for regressiontest away from gerrit

The 2020 branch still used the gerrit download links for getting the
regressiontests for users, leading to some reported instability.

Change-Id: I61f937b28ae1a7f6637514254f504a67315f0c37

3 years agoFix check for BitScanReverse64
Mark Abraham [Mon, 28 Sep 2020 13:09:06 +0000 (15:09 +0200)]
Fix check for BitScanReverse64

3 years agoFix dispersion correction table generation
Berk Hess [Mon, 28 Sep 2020 14:24:26 +0000 (14:24 +0000)]
Fix dispersion correction table generation

Dispersion correction table generation was incorrectly skipped
during PME tuning, which lead to an assertion failure with LJ-PME.

Fixes #3677

3 years agoFix grompp group handling with frozen system
Berk Hess [Fri, 25 Sep 2020 08:02:21 +0000 (10:02 +0200)]
Fix grompp group handling with frozen system

When the whole system was frozen, grompp would attempt to write
a vector out of range.

Fixes #3683

3 years agohardware: only check RDTSCP on x86 platforms
Gilles Gouaillardet [Thu, 17 Sep 2020 14:29:38 +0000 (14:29 +0000)]
hardware: only check RDTSCP on x86 platforms

This is consistent with docs/release-notes/2021/major/portability.rst

3 years agoAdd release notes
David van der Spoel [Thu, 17 Sep 2020 08:43:36 +0000 (08:43 +0000)]
Add release notes

Change-Id: I5320ad4ee975a37e5fe57de1f26935db3f3cc0b4

3 years agoBreak off some tests from mdrun tests
Paul Bauer [Tue, 15 Sep 2020 14:17:42 +0000 (14:17 +0000)]
Break off some tests from mdrun tests

Done to not hit the time limit in CI with OpenCL.

Cherry-picked from master.

Change-Id: Ic2e2686530aef51475ab7f49c1bfd29442c3fc0a

3 years agoFix missing include for MSVC build
Paul Bauer [Tue, 15 Sep 2020 08:30:04 +0000 (10:30 +0200)]
Fix missing include for MSVC build

Also fix documentation header in release notes.

Fixes #3669

Change-Id: Ia4e8a2fbb88b20dd4bf7fb217b675facedcd98f7

3 years agofix check_assign_interactions_atom()
Gilles Gouaillardet [Thu, 10 Sep 2020 16:48:33 +0000 (16:48 +0000)]
fix check_assign_interactions_atom()

fix a bug introduced in gromacs/gromacs@c507ae4d3f4b0d516e53896dac35a52911a8a44b

Thanks Berk Hess for the guidance to the right fix

Refs. gromacs/gromacs#3635

(cherry picked from commit 7d83d16072e7521bcf8fc43ceda7bf29803466e1)

3 years agoMove mixplaced release notes entry
Szilárd Páll [Thu, 3 Sep 2020 20:52:55 +0000 (22:52 +0200)]
Move mixplaced release notes entry

Bugfix commit 686cec44 added a release notes entry for 2019.6 instead of
2020.4. This change moved the entry to the right file.

3 years agoFix bug in Lincs GPU setup
Alan Gray [Thu, 3 Sep 2020 12:34:39 +0000 (12:34 +0000)]
Fix bug in Lincs GPU setup

Memory re-allocation was previously only triggered if the number of
constraints threads increases. But the sizes also depend on the value
of "maxCoupledConstraints", and its possible that this can increase
without the number of constraints threads increasing. This change
fixes by also triggering the reallocation when the value of
maxCoupledConstraints is increased.

(cherry picked from 87372d0ffd610943928aeb6b56fc3fb96b0c30f5)

3 years agoUpdated an outdated link
Carsten Kutzner [Fri, 28 Aug 2020 14:07:17 +0000 (16:07 +0200)]
Updated an outdated link

3 years agoPermit build with CUDA 11.0
Mark Abraham [Wed, 26 Aug 2020 10:41:26 +0000 (10:41 +0000)]
Permit build with CUDA 11.0

The unannounced removal of SM 30 means cmake fails on all
GROMACS releases prior to this.

Fixes isHostMemoryPinned for changes in CUDA 11.0 and improves
test coverage.

Adapts tested and reviewed changes from !407 and !434

Refs #3631
Fixes #3632

3 years agoFix typo in docs
Mark Abraham [Sat, 8 Aug 2020 15:47:10 +0000 (15:47 +0000)]
Fix typo in docs

3 years agoFixed the mis-fix
Christian Blau [Fri, 7 Aug 2020 20:30:02 +0000 (20:30 +0000)]
Fixed the mis-fix

Wrong variable being used was the issue instead of increase by one.

3 years agoRelease configs were using a wrong build type
Mark Abraham [Fri, 31 Jul 2020 08:33:34 +0000 (08:33 +0000)]
Release configs were using a wrong build type

(cherry picked from commit a2820e3e34abb71564edfd9dff63f7d29a562971)

3 years agoRevert "Change builds that use failing docker containers"
Paul Bauer [Mon, 27 Jul 2020 12:34:24 +0000 (14:34 +0200)]
Revert "Change builds that use failing docker containers"

This reverts commit ff579ae821c59a4f5cc502062578ae0eab5786e6.

3 years agoAllow to compile template with gmx-lagacyapi enabled
Alexey Shvetsov [Wed, 15 Jul 2020 19:16:13 +0000 (19:16 +0000)]
Allow to compile template with gmx-lagacyapi enabled

This change allows to compile template as standalone app with installed
gromacs

Fixes #3596

Signed-off-by: Alexey Shvetsov <alexxyum@gmail.com>
3 years agoCMake: add OpenMP detection to exported target
Christoph Junghans [Sun, 12 Jul 2020 20:53:03 +0000 (14:53 -0600)]
CMake: add OpenMP detection to exported target

3 years agoFix libgromacs CMake target install syntax.
M. Eric Irrgang [Sat, 11 Jul 2020 20:31:45 +0000 (20:31 +0000)]
Fix libgromacs CMake target install syntax.

Fixes #3592

3 years agoPrepare for GROMACS 2020.4
Paul Bauer [Fri, 3 Jul 2020 11:36:50 +0000 (13:36 +0200)]
Prepare for GROMACS 2020.4

Reset DOI strings.
Added new release note documents.

Change-Id: I28e1f297f2ba75d7b60cb8161135ef94546f1d7f

3 years agoGROMACS version 2020.3
Paul Bauer [Thu, 9 Jul 2020 11:29:19 +0000 (11:29 +0000)]
GROMACS version 2020.3

Set DOI strings to correct value.

Change-Id: Ib0f23e474a3db58b06c008bed4614fa6f9f85127

3 years agoFix segfault in gmx genrestr.
Kevin Boyd [Fri, 3 Jul 2020 13:16:11 +0000 (13:16 +0000)]
Fix segfault in gmx genrestr.

A gmx_mtop_t going out of scope freed memory in a related structure.
Extended the life of the topology structure, and fixed memory leaks that
popped up in the ASAN build.

3 years agoChange builds that use failing docker containers
Paul Bauer [Wed, 1 Jul 2020 13:42:21 +0000 (13:42 +0000)]
Change builds that use failing docker containers

Changes builds away from the gromacs/cmake-3.9.6-gcc-5-cuda-9.0-openmpi:2020
and gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
docker images that have failed over the recent days.

For now set to use
gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020 image as well.

Change-Id: Ia62ebae0d1cf2dd5df91e6e735d3a171409f9fe5

3 years agoMake DSSP default path configurable
Paul Bauer [Fri, 26 Jun 2020 17:26:04 +0000 (17:26 +0000)]
Make DSSP default path configurable

Fixes #3520

Change-Id: I19347890b7e5baf0a10c0d4d803a9e479c53714a

3 years agoFix tpxio function type update table
Berk Hess [Mon, 22 Jun 2020 15:27:29 +0000 (17:27 +0200)]
Fix tpxio function type update table

Fix order to incrementing function type. Likely certain older tpr
files would have been read incorrectly, usually lead to a memory
allocation error.

3 years agoAdd missing end-of-line in the GPU update assignment error message
Artem Zhmurov [Tue, 16 Jun 2020 16:37:12 +0000 (18:37 +0200)]
Add missing end-of-line in the GPU update assignment error message

3 years agoFix false initialization values in gmx hbond
Paul Bauer [Fri, 12 Jun 2020 08:09:09 +0000 (08:09 +0000)]
Fix false initialization values in gmx hbond

Previous refactoring left some variables in an uninitialized state or
with values from previous code paths.

Fixes #3550

Change-Id: I43257a0aa6292aa462de41f0e6d60b50d6ea3cf4

3 years agoFix false initialization values in gmx hbond
Paul Bauer [Thu, 11 Jun 2020 12:31:09 +0000 (12:31 +0000)]
Fix false initialization values in gmx hbond

Previous refactoring left some variables in an uninitialized state or
with values from previous code paths.

Fixes #3550

Change-Id: I43257a0aa6292aa462de41f0e6d60b50d6ea3cf4

3 years agoProper fix for gmx do_dssp
Paul Bauer [Wed, 10 Jun 2020 06:47:09 +0000 (08:47 +0200)]
Proper fix for gmx do_dssp

The tool was still broken after the previous fix, even though it didn't
crash any more.

Fixed now by providing the correct sizes for the matrix.

Fixes #3444

Change-Id: I6b59bbdd5e69ff2c311ff4c8457037c9310b081f

3 years agoFix segmentation fault when reading energy terms
Paul Bauer [Fri, 5 Jun 2020 12:46:17 +0000 (14:46 +0200)]
Fix segmentation fault when reading energy terms

While trying to read the names from the file, it could read past the
allocation if the number of terms was smaller than F_NRE.

Fixes #3547

Change-Id: I978cdedaac5e52b10cee02b05e90851102eeb2bd

3 years agoMake a error message less confusing
Artem Zhmurov [Fri, 5 Jun 2020 09:35:15 +0000 (09:35 +0000)]
Make a error message less confusing

The GPU implementation of PME and bondeds require dynamical integrator.
This updates the error message to make it more clear to the user.

Refs. #3544

3 years agoUpdate the release notes
Artem Zhmurov [Thu, 4 Jun 2020 17:15:58 +0000 (17:15 +0000)]
Update the release notes

Also fixed entry underline for tinyxml2.

3 years agoRemove the c++14 flag for CUDA builds on Windows. This flag is no longer necessary...
Terry Mahaffey [Thu, 4 Jun 2020 09:12:52 +0000 (09:12 +0000)]
Remove the c++14 flag for CUDA builds on Windows. This flag is no longer necessary as C++14 has been the default on Windows for a while, and in any event, the CUDA driver (nvcc) doesn't support this flag anyway - causing the builds to fail.

4 years agoCorrect regular expression for clang-tidy.sh
Paul Bauer [Fri, 29 May 2020 11:13:31 +0000 (11:13 +0000)]
Correct regular expression for clang-tidy.sh

Was still faulty after previous fix.
The "\y" sequence captures the empty string at the beginning or end of a
word, and is able to distinguish between files containing the string
error and actual error messages.

Change-Id: I70f66d9f77ed0e912d7664b4b73d9047516b66ad

4 years agoReduce console log output from sample_restraint tests.
M. Eric Irrgang [Thu, 14 May 2020 13:59:20 +0000 (13:59 +0000)]
Reduce console log output from sample_restraint tests.

Don't override default root log level in test_binding.py
Remove `-x` bash option from automated testing script.
Also remove extraneous and inappropriate __init__.py

Refs #3530

4 years agoEnable MPI ensemble testing for gmxapi.
M. Eric Irrgang [Fri, 22 May 2020 15:38:20 +0000 (18:38 +0300)]
Enable MPI ensemble testing for gmxapi.

Refs #3469

4 years agoFix small typo in gmx 2020 release notes
Kevin Boyd [Sat, 23 May 2020 00:55:40 +0000 (17:55 -0700)]
Fix small typo in gmx 2020 release notes

4 years agoAvoid parsing of fatalerror.cpp as lint failure
Paul Bauer [Fri, 22 May 2020 16:38:52 +0000 (16:38 +0000)]
Avoid parsing of fatalerror.cpp as lint failure

When the file was changed its presence could cause the linter to fail
even though no errors are present. Fixed by avoiding the name in the
regular expression.

Change-Id: I0c066ede89b30bfd98b5ad335ec40ea756445e00

4 years agoNormalize gmxapi related release-2020 job logic.
M. Eric Irrgang [Mon, 13 Apr 2020 17:05:13 +0000 (20:05 +0300)]
Normalize gmxapi related release-2020 job logic.

Use rules definied in global.gitlab-ci.yml for gmxapi related jobs.

Refs #3475

4 years agoFix Clang Cuda flags
Roland Schulz [Mon, 11 May 2020 19:20:55 +0000 (12:20 -0700)]
Fix Clang Cuda flags

- Add -fcuda-flush-denormals-to-zero to match nvcc flags
- Fix flag reporting. Was broken by 8ff984a32037947
  which didn't make the change consistent for clang cuda.

4 years agoFix Clang CUDA for Clang>=9
Roland Schulz [Mon, 11 May 2020 04:36:57 +0000 (21:36 -0700)]
Fix Clang CUDA for Clang>=9

CUDA and OpenMP is broken (bug 45533). Overwrite OpenMP
flag with -fno-openmp to work-around it. No CUDA files
use OpenMP and therefore this has no negative impact.

4 years agoAvoid warning during PME tuning
Berk Hess [Thu, 7 May 2020 14:54:28 +0000 (14:54 +0000)]
Avoid warning during PME tuning

During PME tuning a warning could be printed about the PME grid not
being a multiple of the number of PME ranks. Since this is not
actually an issue and the user can not influence this, this note is
removed during tuning. To achieve this, gmx_pme_init() now actually
using the logging framework.

4 years agoFix copyright
Paul Bauer [Tue, 5 May 2020 06:56:33 +0000 (08:56 +0200)]
Fix copyright

Change-Id: I9d9953def7c31c2830de2452bb0678f1cad86969

4 years agoFix cmake error: Mixed styles of target_link_libraries signatures
Paul Bauer [Mon, 4 May 2020 17:53:47 +0000 (17:53 +0000)]
Fix cmake error: Mixed styles of target_link_libraries signatures

Plain and keyword target_link_libraries signatures cannot be mixed.

Complete error message:

------------------->8---------------------------8<--------------------------
CMake Error at src/testutils/CMakeLists.txt:76 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "testutils".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * src/testutils/CMakeLists.txt:72 (target_link_libraries)

-- Configuring incomplete, errors occurred!
------------------->8---------------------------8<--------------------------

See: https://cmake.org/cmake/help/v3.0/policy/CMP0023.html

4 years agoPrepare for 2020.3
Paul Bauer [Wed, 29 Apr 2020 09:34:53 +0000 (11:34 +0200)]
Prepare for 2020.3

Reset DOI strings.

Change-Id: I6b9d5772fcc9b4d8507817d09173dd2d5577dfdb

4 years agoGROMACS version 2020.2
Paul Bauer [Wed, 29 Apr 2020 09:31:53 +0000 (11:31 +0200)]
GROMACS version 2020.2

Update regressiontest hash.
Set DOI strings.

Change-Id: I708a1e340754d173b8c7ef47803e7fa525c9671a

4 years agoPrint base commit for source linters
Paul Bauer [Wed, 29 Apr 2020 12:47:58 +0000 (12:47 +0000)]
Print base commit for source linters

Added a printout for the branch used for comparing.

Will use to see if branch point selection is working properly and to see
if the clang-tidy script picks up the warnings it should.

Change-Id: I791d2a11f98cd8e0cf0d06e92a9980cd9d038874

4 years agoFix incorrect header and linter scripts
Paul Bauer [Thu, 30 Apr 2020 12:03:15 +0000 (14:03 +0200)]
Fix incorrect header and linter scripts

Wrong grep flag meant that messages have not been printed.

Change-Id: I74b2088a12753d584929f9aa75ed915d400d8091

4 years agoDisallow combination of gcc > 9 and IBM_VSX
Paul Bauer [Thu, 30 Apr 2020 06:27:31 +0000 (08:27 +0200)]
Disallow combination of gcc > 9 and IBM_VSX

The compiler flag is not detected for newer versions of gcc and can lead
to confusing error messages.

Fixes #3380

Change-Id: I0c5311325b2bf2bc08ab727eabd670115720b4a6

4 years agoFix compiler flag reporting
Mark Abraham [Thu, 30 Apr 2020 09:24:00 +0000 (09:24 +0000)]
Fix compiler flag reporting

The C, C++ and CUDA compiler flag reporting didn't mention those added
by cmake from the build configuration, even those are always used.

Closes #3510

4 years agoFix the number of steps check when checkpoint is loaded
Artem Zhmurov [Wed, 29 Apr 2020 12:10:20 +0000 (12:10 +0000)]
Fix the number of steps check when checkpoint is loaded

The check ignores the initial step in the config file, thust only
works when loading for the trajectory that was originally started
from step zero.

4 years agoUse test conversion script from source
Paul Bauer [Wed, 29 Apr 2020 09:23:54 +0000 (09:23 +0000)]
Use test conversion script from source

No longer install the script to convert CTest results to JUnit and
instead use the files from the cloned git source for it.

Fixes #3514

Change-Id: Ida4f2ab563601153b0b218c9bc6b7cfdb4969f01

4 years agoBaseline commit
Mark Abraham [Wed, 29 Apr 2020 08:27:37 +0000 (08:27 +0000)]
Baseline commit

This just checks that the pipeline failure in #3507 does reproduce
before I start changing things that matter.

4 years agoAdd clang WA
Roland Schulz [Sun, 26 Apr 2020 19:10:51 +0000 (12:10 -0700)]
Add clang WA

4 years agoFix MSVC 2019 test failures
Roland Schulz [Sun, 26 Apr 2020 07:58:56 +0000 (00:58 -0700)]
Fix MSVC 2019 test failures

Related #3495

4 years agoFix the removal of COM velocity in case of GPU update
Artem Zhmurov [Mon, 27 Apr 2020 19:21:58 +0000 (19:21 +0000)]
Fix the removal of COM velocity in case of GPU update

After the velocities are changed on the CPU to remove the COM motion,
they have to be copied back to the GPU memory.

Fixes #3508

4 years agoFix segmentation fault in do_dssp
Paul Bauer [Mon, 27 Apr 2020 11:46:33 +0000 (13:46 +0200)]
Fix segmentation fault in do_dssp

A matrix would be initial allocated with zero size, so that a
following call to increase the size of one element would lead to memory
corruption on a subsequent try to set a value in the matrix.

Fixes #3444

Change-Id: I1892c09a8aa4c2f92156f7b1a76623df9ac62e56

4 years agoBuild python package for documentation builds
Paul Bauer [Mon, 27 Apr 2020 07:31:47 +0000 (09:31 +0200)]
Build python package for documentation builds

Fixes #3506

Change-Id: If18ed44603d685118d4b73f2ee72401028574d61