alexxy/gromacs.git
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

4 years agoFix warning for return type
Paul Bauer [Mon, 27 Apr 2020 07:23:09 +0000 (09:23 +0200)]
Fix warning for return type

Fixes #3499

Change-Id: I648a4b3d35618fe7c41d406c98be291ca9bd0d2f

4 years agoFix bug in source verification on Windows
Paul Bauer [Fri, 24 Apr 2020 10:59:49 +0000 (12:59 +0200)]
Fix bug in source verification on Windows

The way to pass the set of directories to be used for validating the
source caused issues on Windows systems, as it replaced ":" characters
to change from strings to lists in CMake.

This caused the top level directory to be changed from e.g. "D:" to
"D;", messing up the rest.

Fixed the message passing to only pass the final directory, and modify
to full path after the set has been passed through.

Fixes #3493

Change-Id: I4076b8e87dc8d72a83af6aa0c7ab4b3366917ed0

4 years agoMove configuration of global headers
Mark Abraham [Sat, 25 Apr 2020 14:11:50 +0000 (16:11 +0200)]
Move configuration of global headers

Previously it was possible to get a different result from
  cmake .. && make && make install
than one got from
  cmake .. && cmake .. && make && make install
because the lmfit detection ran after config.h was generated,
so HAVE_LMFIT changed value from one cmake to the next, triggering
a rebuild of all source files that depended on config.h. lmfit
is supposed to fall back on the internal version, but did not,
so this is buggy. It's also very inefficient with compilation
in some workflows.

4 years agoFix copyright header
Paul Bauer [Sat, 25 Apr 2020 08:20:32 +0000 (10:20 +0200)]
Fix copyright header

Change-Id: Iab87aaf00ab6433a3fe616c4836595afa17c8907

4 years agoFix MSVC 2019 warnings
Roland Schulz [Sat, 25 Apr 2020 02:13:28 +0000 (19:13 -0700)]
Fix MSVC 2019 warnings

4 years agoUse branch point also for format and copyright check
Paul Bauer [Thu, 23 Apr 2020 20:24:50 +0000 (20:24 +0000)]
Use branch point also for format and copyright check

Change-Id: I16a9df11223426a40e6e138ee9f3793e700ae06e

4 years agoFix parallel testing
Paul Bauer [Fri, 24 Apr 2020 11:27:15 +0000 (11:27 +0000)]
Fix parallel testing

Change testing to be more robust in threaded setups.

Also change on merge test to use real MPI to make sure this works
correctly.

Change-Id: Id78b213291bf7cc225fc2564a23f0d85362467fd

4 years agoFix warnings for no-mpi build
Mark Abraham [Mon, 13 Apr 2020 05:23:00 +0000 (07:23 +0200)]
Fix warnings for no-mpi build

This build configuration gave warnings when combined with
clang-7 in the docs build.

Change-Id: Ic874769bcd627710798633be742dbbe80d78b791

4 years agoCopy of CI from master to 2020
Paul Bauer [Wed, 22 Apr 2020 06:52:14 +0000 (06:52 +0000)]
Copy of CI from master to 2020

Adjusted branches and build images.

Change-Id: I28d011a003119870c41e434cef623765ddc6ace1

4 years agoReintroduce LJ Ewald tables
Pascal Merz [Tue, 14 Apr 2020 15:42:37 +0000 (15:42 +0000)]
Reintroduce LJ Ewald tables

Fixes #3470 by reintroducing the LJ Ewald tables.

4 years agoFix line overrun in log file
Kevin Boyd [Wed, 8 Apr 2020 02:20:30 +0000 (19:20 -0700)]
Fix line overrun in log file

4 years agoFix expanded ensemble on checkpoint restarts
Pascal Merz [Fri, 3 Apr 2020 01:23:16 +0000 (19:23 -0600)]
Fix expanded ensemble on checkpoint restarts

Fixes #3465.

Also adds a release note, and sets StartingBehavior const in ISimulator
to make its behavior more obvious.

4 years agoFix minor bug with tools time-unit conversions
Mark Abraham [Wed, 1 Apr 2020 07:01:31 +0000 (07:01 +0000)]
Fix minor bug with tools time-unit conversions

Attempting to use output times of microseconds or longer
produced strange results, since a bug introduced a
decade ago in bc23d95b

4 years agoSet buffers appropriately so .xpm files can be read.
Mark Abraham [Mon, 30 Mar 2020 12:48:11 +0000 (12:48 +0000)]
Set buffers appropriately so .xpm files can be read.

Closes #3455