Berk Hess [Tue, 19 May 2015 09:10:06 +0000 (11:10 +0200)]
Don't use PME ranks with GPUs and -npme=-1
The code disabling the automated PME rank choice with GPUs was
accidentally moved after init_domain_decomposition. This caused
PME ranks to be set up, but later a fatal_error occured for
inconsistent PP rank and GPU counts.
Refs #1374.
Change-Id: I5f6bcc90fecac7f63b332b8f1acca7368b5f71bc
Roland Schulz [Thu, 5 Feb 2015 06:28:51 +0000 (01:28 -0500)]
Work-around for ICC 15 on Phi
Change-Id: Id72e6fb124974f0d8572a1715bc1f25e536f7c69
Roland Schulz [Wed, 22 Oct 2014 01:23:29 +0000 (21:23 -0400)]
Don't set CFLAGS for Phi in toolchain
The recommended way to set those flags is with CMAKE_*_FLAGS_INIT but
that is only passible in a platform file because those set in a toolchain
file get overwritten.
This fixes that extra CFLAGS passed on the command line don't get ignored.
Also move setting of fftw out of platform file because those should
be project independent.
Change-Id: I5f4d70efd8369bdef5f5060959e3568026d6820c
Mark Abraham [Tue, 26 May 2015 00:53:42 +0000 (02:53 +0200)]
Fix use of hard-coded temporary filename
Using temp.top can run into a user file of the same name, which is
unfriendly. Instead, use the function we have for doing the job of
making a temporary filename.
Fixes #1747
Change-Id: Ia6266e5605dd14032743e11f5dc68a520c47ce06
Mark Abraham [Tue, 19 May 2015 19:20:09 +0000 (21:20 +0200)]
Fix misuse of gmx_simd_check_and_reset_overflow
Only x86 has useful definitions of this function. The check will
be entirely removed in master branch.
Fixes #1740
Change-Id: Ida1bc43201f44dffbd64d94bc485d4d6d882167b
Teemu Murtola [Wed, 20 May 2015 19:22:09 +0000 (22:22 +0300)]
Avoid crash with empty reference for 'same as' selection
Make 'same ... as none' selections not segfault. If there were no atoms
in the reference group, the code that sorted the values and removed
duplicates incorrectly set the number of values as one, resulting in
incorrect memory access later.
Fixes #1742 (segfault part).
Change-Id: I9d14c30404121356ee3abf1a5575fb0baa82fb7b
Teemu Murtola [Wed, 20 May 2015 18:22:25 +0000 (21:22 +0300)]
Fix handling of real-valued 'to' selection ranges
Two adjacent ranges were incorrectly merged to a single range if the
difference between their nearest endpoints was less than one (the extra
+1 in the code is incorrectly copy-pasted from the integer case).
Add tests for handling overlapping and near-overlapping ranges.
Fixes #1743.
Change-Id: I3ac79c55dc3817e6325e43e27e0ccb4fe360e609
Mark Abraham [Sun, 10 May 2015 20:29:06 +0000 (22:29 +0200)]
Suppress GCC5 warnings with internal Boost
GCC 5 warns that auto_ptr is deprecated, which we know and don't care
to hear about.
Change-Id: I5e4721f4a06ce18e113be7b205d108a0df7586b7
Szilard Pall [Wed, 13 May 2015 18:25:22 +0000 (20:25 +0200)]
Assert the size of non-bonded GPU work units
<=0 sized grid blocks lead to kernel launch failure which have
caused issues before.
Refs #1734
Change-Id: I4e914bcf3168f7268dab64b69d25bf34fb6c85c9
Mark Abraham [Thu, 14 May 2015 09:29:27 +0000 (11:29 +0200)]
Fix own-FFTW build
Recent changes broke the expectation that the own-FFTW build attempts
to pretend to have run SIMD-support tests on the build that it has not
yet performed. This is all more complicated than it needs to be,
and will be refactored in master branch.
Fixes #1735
Change-Id: I9e5f296b199b6b5af685fa2ba87cc962a41a251f
Szilard Pall [Thu, 14 May 2015 16:34:14 +0000 (18:34 +0200)]
Merge release-4-6 into release-5-0
Change-Id: Ieb8813f1c9def6d9f232c54adebb56f2081020df
Berk Hess [Wed, 13 May 2015 19:54:38 +0000 (21:54 +0200)]
Fixed CUDA error with empty domains
Recent commit
fc8a5624 introduced empty CUDA kernel calls when there
are empty domains. This seems not be allowed by CUDA (we get errors).
Fixed #1734. Refs #1721.
Change-Id: Ifd32a55c8d6756c93a0fcaba29983ae326abc569
Mark Abraham [Wed, 13 May 2015 14:26:41 +0000 (16:26 +0200)]
Version bumps after new release
Numbers bumped, -dev tag replaced.
Change-Id: Ida285019b80e4de6d397f1a34528553404951ede
Mark Abraham [Wed, 6 May 2015 21:05:18 +0000 (23:05 +0200)]
Version 5.0.5
Removed -dev tags from versions. Bumped regressiontest hash.
Change-Id: Ib298b27f48f378dc9c589c3b8bb0c2a77c219960
Berk Hess [Wed, 13 May 2015 10:11:34 +0000 (12:11 +0200)]
Fix segv in g_covar
With fewer trajectory frames than #DOF in the analysis group, g_covar
would print a warning to a NULL pointer instead of stderr.
Fixes #1733.
Change-Id: I546f867d7d95f418212bb5b65005f62de71bdfb8
Szilard Pall [Sun, 10 May 2015 23:03:02 +0000 (01:03 +0200)]
Fix auto-downloaded regression test execution
The regressiontests directory within the tarball has been renamed
to contain a version suffix: regressiontests-BRANCH-COMMITID.tgz
However, the CMake code that sets up the tests and needs the path to the
location of the the regressiontests was not updated and tried to use an
incorrect, hardcoded directory name.
This change implements extracting the directory name from the tarball.
Change-Id: Ic597b69b7a375966e9747e55afcb9ef5921b2b22
Roland Schulz [Tue, 17 Mar 2015 04:03:40 +0000 (21:03 -0700)]
Facilitate linking of static binaries
Minimal solution. The user has to manually set both
-DBUILD_SHARED_EXE=no and CFLAGS=CXXFLAGS=-static, perhaps manage
their own toolchain, and certainly make static libraries available for
all dependencies. Also does not auto-detect if compiler defaults to
static (Cray). Works better than LINK_SEARCH_END_STATIC because
otherwise dynamic flags can be added to the middle if some libraries
in default search path exist as both dyanmic and shared.
Fixes #911
Related to #1641
Change-Id: If7b8192b44c33c861f126e3422df04388d2f2be5
Mark Abraham [Mon, 11 May 2015 19:48:00 +0000 (21:48 +0200)]
Fix uninitialized fields in grompp t_state
Allocating t_state on the stack and using an incomplete
pseudo-constructor means it is possible to write an uninitialized
value in fep_state field to the .tpr file, which we've been
doing. Found with Memory Sanitizer. Perhaps this behaviour lies behind
some of the strange behaviour that is periodically seen on Jenkins.
Fixed by allocating t_state on the heap, which might resolve other
issues, since snew() zeroes the memory as a side effect. Also
initialized fep_state field in init_state().
Refs #1729, #1730
Change-Id: Ibcee7bff1e090fb1991969c4562f44f056868a03
Rossen Apostolov [Thu, 12 Jun 2014 15:03:10 +0000 (17:03 +0200)]
Added a note about sc-coul being auto turned on.
The documentation didn't mention that the soft-core potential
is automatically switched on in the case of a single component
lambda.
Fixes #1421.
Change-Id: Ic478b8b1a68c9ef08764946337f72008808bb2b3
Mark Abraham [Thu, 7 May 2015 13:57:10 +0000 (15:57 +0200)]
Work around gcc 5 warnings with Google Test
There are new unused-variable warnings issued by gcc 5 from constructs
used in Google Test code, and we don't want to see them.
Change-Id: Ia3ff6b8f3ca699f0ef72c003e7359703367e5c5c
Berk Hess [Thu, 7 May 2015 08:45:27 +0000 (10:45 +0200)]
Changed FFTW warning from AVX to no SSE
Changed the cmake FFTW SIMD check warning from complaining about
AVX to complaining about missing SSE or SSE2.
With FFTW 3.3.4 the performance of FFTW with both SSE and AVX enabled
is often a bit better and never much worse than SSE along. Newer
Intel processors probably also perform better with AVX with FFTW 3.3.3
so we should not complain about the combination of SSE(2) and AVX,
but only when SSE is missing.
Change-Id: I3665a35ec98616f015d05e314c8fbb80a8862092
Mark Abraham [Mon, 4 May 2015 18:36:29 +0000 (20:36 +0200)]
Fixed recently-introduced couple-lambda warning message
The grompp warning was not issued correctly. Any simulation that ran
was unaffected.
Refs #1421
Fixes #1722
Change-Id: Ib582d3749c283dbb03504c5ec09f854c518e11a5
Szilárd Páll [Wed, 6 May 2015 11:13:12 +0000 (13:13 +0200)]
Merge "Merge release-4-6 into release-5-0" into release-5-0
Mark Abraham [Mon, 23 Mar 2015 15:49:53 +0000 (15:49 +0000)]
Fix SIMD unit tests on BG/Q
These got broken in https://gerrit.gromacs.org/#/c/3956/2 when I
inadvertently removed -O3 -NDEBUG from the compiler flags after
version 1. With XL compilers, the CMake default for release mode
is -O -DNDEBUG, and that gives an internal compiler error for
the SIMD unit tests.
Also removed commentary about debug versions of XL compilers, since they
are not appropriate when we're no longer hard-coding compilers.
Change-Id: I5cb06695c061336bea7678353efa153d1f6be955
Mark Abraham [Tue, 5 May 2015 22:07:51 +0000 (00:07 +0200)]
Merge release-4-6 into release-5-0
Conflicts:
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda.cu
Only conflict was from changes to a comment (end-of-line space removed
already in release-5-0, fix on next line in release-4-6). Resolved in
favour of recent fix on release-4-6, and uncrustify re-removed the
space.
Change-Id: Iffed0bc8b9a8c52a96ffe8a9a5baf8f5696f8cf7
Teemu Murtola [Thu, 30 Apr 2015 09:53:15 +0000 (12:53 +0300)]
Avoid rounding errors affecting results in one test
Change the input for one of 'gmx gangle' tests such that it does not
produce angles that are exactly at an edge of the three-bin histogram
used in the test. Rounding could affect the bin into which the angle
was assigned to, causing the test to fail erroneously.
Fixes #1716
Change-Id: I9979a8dfee0b870b3904fa28e274540f892f542d
Justin Lemkul [Wed, 3 Sep 2014 12:23:43 +0000 (08:23 -0400)]
Fix for trjconv preserving box dimensions.
When using -1 in the -box specification, box vectors were
instead set to zero rather than being preserved due to
clear_mat(fr.box). Now, fr.box is conditionally cleared to
prevent this. A fatal error is triggered if the user is
trying to preserve a non-existent box to avoid repeating the
undesired behavior.
Change-Id: I7484c33a7db445e0ad7cf21b2694150eee9ef768
Berk Hess [Thu, 30 Apr 2015 19:32:44 +0000 (21:32 +0200)]
Fixed GPU non-local F copy local conditional
With domain decomposition and GPUs the copy of the non-local part of
the host memory force buffer to the force array was conditional on
the local instead of the non-local list size. This meant that with
an empty non-local list and non-empty local list outdated non-local
forces would be copied. Conversely, with an empty local list all
non-local forces would not be added. Both things can only happen
in systems with partially empty boxes and then only rarely.
Having the local kernel, D2H copyback and F reduction called
conditionally is not useful in practice, so they are now unconditional
to avoid complicating the code.
Fixes #1721.
Change-Id: I06731b0055a4fb5a16168e7180964e0b87443b0f
Olivier Fisette [Sun, 26 Apr 2015 13:54:27 +0000 (15:54 +0200)]
Fix error handling in gmx_tmpnam
The return code of mkstemp was being mis-used for error handling.
This could explain some long-standing issues with (e.g.) DSSP
mysteriously not working even when the user had done everything right.
Fixes #1717
Change-Id: I72b385a751b99c3f49d99a14bfc6964ad776c22d
Michael Shirts [Tue, 3 Mar 2015 17:55:32 +0000 (12:55 -0500)]
Fix for rarely occuring replica exchange error.
It could write to unallocated memory when permutations of all replicas
formed a single cycle (which is rare except for very low numbers of
replicas)
Fixes #1697
Change-Id: I23e8f7213572d3e8b9461cfdd7cb1eb790b45fe3
Berk Hess [Tue, 28 Apr 2015 10:12:40 +0000 (12:12 +0200)]
Re-enabled FMA for AVX-128-FMA
All FMA instructions for AVX-128-FMA were not renamed during a SIMD
macro name change, which effectively removed FMA support for AMD.
Fixes #1719.
Change-Id: I855a379d29742d37c586794a191606a360a89c5f
Berk Hess [Thu, 16 Apr 2015 16:07:49 +0000 (18:07 +0200)]
Correct -ntmpi auto for intel nehalem and older
With thread MPI mdrun would automatically choose 1 MPI rank with up to
16 OpenMP threads on all Intel family 6 CPUs, whereas this was only
intended for Sandy Bridge and later.
Change-Id: I29882375c8569497b3e309de7cc66a2af4d6fa40
David van der Spoel [Thu, 9 Apr 2015 06:48:59 +0000 (08:48 +0200)]
Clarified comments for time-dependent electric fields.
Change-Id: Id5644a14d6a41ca3d9c634dc0eaefe4069c0b618
David van der Spoel [Wed, 8 Apr 2015 14:13:37 +0000 (16:13 +0200)]
Fixed incorrect output of gb_algorith as sa_algorithm.
Change-Id: I96e51e7c9ac931b7635573a38cd700c61bc596e4
Berk Hess [Mon, 29 Sep 2014 14:17:40 +0000 (16:17 +0200)]
Corrected force-switch manual section
There was a factor alpha missing in the formulas for parameter A and B
for the force switch function (the code was correct).
Also removed the introduction and formulas for switching the Coulomb
function, since that's a bad thing to do.
Change-Id: I9739112fc991710199035facde01a1dd2b745703
Mark Abraham [Wed, 18 Mar 2015 09:17:43 +0000 (10:17 +0100)]
Made error message more generic
Fixes #1708
Change-Id: Ib246dbd26a158fc7f672a4289fff1a70a46c26db
Roland Schulz [Tue, 17 Mar 2015 03:27:01 +0000 (20:27 -0700)]
Fix linking with static libxml2
static libxml2 can have a dependency on libz. This uses the same approach
as we did prior for fftw. Always add libz to required libraries (even for
dynamic when not needed) when libz is found.
Change-Id: I75291508d7f36921793e01f920fab644e0324369
Mark Abraham [Tue, 3 Mar 2015 12:29:52 +0000 (13:29 +0100)]
Fix Andersen thermostats
The logic for which type of Andersen thermostat has which
implementation got inverted while implementing support for Random123.
Fixes #1695
Change-Id: Ibb7663160bab0ffbb41e23e0d1e97a151940f47b
Ake Sandgren [Wed, 18 Feb 2015 12:58:21 +0000 (13:58 +0100)]
The test for HAVE_CXX11_REGEX fails since it doesn't use any -std=c++11 flag.
Moving the test for HAVE_CXX11_REGEX after the gmx_test_cxx11 test makes
this work (if the fix for #1691 is in place)
Fixes #1692
Change-Id: Ic86c17d970c464d6fa287de7bec5fc7616871087
Ake Sandgren [Wed, 18 Feb 2015 12:40:56 +0000 (13:40 +0100)]
Checks should use correct CMAKE_REQUIRED_ variables
CMAKE_REQUIRED_DEFINITIONS is for preprocessor defines,
CMAKE_REQUIRED_FLAGS is for compiler flags. Some of
these have been inherited from CMake; the same fixes
have been applied to CMake trunk.
Fixes #1691
Change-Id: I82def95a3378b12a47a5929774ef076c76d336d7
Erik Marklund [Tue, 6 Jan 2015 22:48:29 +0000 (22:48 +0000)]
gmx hbond no longer removes PBC when none is present
Fixes #1662
Change-Id: Ice934285784ac8b8fd95942a089fb1b65b9ecb51
Vedran Miletić [Sun, 1 Feb 2015 19:43:19 +0000 (20:43 +0100)]
Fix removal of symlinks created during installation
Installation of gromacs creates 2 symlinks for libgromacs.so, which become
broken once library is removed. During uninstall, CMake macro EXISTS will follow
symlink and conclude files do not have to be removed.
This patch adds IS_SYMLINK checking in addition to EXISTS.
Change-Id: Id7ef6768549a6fc09fb017e5be9ac286e4f7a026
Roland Schulz [Thu, 12 Feb 2015 10:10:31 +0000 (05:10 -0500)]
Merge release-4-6 into release-5-0
Conflicts:
src/gromacs/mdlib/pme.c (just copyright)
Change-Id: I419b260004806229c6eb9f993413b480041f20cc
Berk Hess [Fri, 6 Feb 2015 13:05:44 +0000 (14:05 +0100)]
Re-fixed PME bug with high OpenMP thread count
PME energies and forces could be incorrect with combined MPI+OpenMP
parallelization. This would, only, happen when
pmegrids->nthread_comm[YY] >= 2, which can only occur with high OpenMP
thread count with multiple prime factors that are large wrt the grid.
It's unlikely that this issue affected production runs.
This bug was fixed in
27189bba, but
6ba80a26 broke it again.
Fixes #1572.
Change-Id: Ic01bed4193062f8ca885fcb6bf347f2ef0de909f
Berk Hess [Mon, 2 Feb 2015 14:11:11 +0000 (15:11 +0100)]
Correct CUDA kernel energy flag
The CUDA kernels calculated energies based on the GMX_FORCE_VIRIAL
flag. This did not cause errors, since (currently) GMX_FORCE_ENERGY
is always set when the virial flag is set. But using the latter flag
gives a small performance improvement when using pressure coupling.
Change-Id: If874e651058dc06c464f0fa810b17ba83146c9a3
Mark Abraham [Fri, 23 Jan 2015 14:28:01 +0000 (15:28 +0100)]
Avoid near-silent generation of zero energies
There is note printed about this case for Verlet+GPU+energy groups,
and this is OK for normal simulations because the decomposition of the
energy into groups is unimportant. However, a user doing such a rerun
is probably seeking the energy decomposition, and in that case getting
zeroes is unexpected behaviour.
Instead, default to not using GPUs with mdrun -rerun -nb auto and more
than one energy group. In that case with mdrun -rerun -nb gpu, give a
fatal error and suggest the probable solutions.
Change-Id: I3006ed3ded31620d4faf4fc4a24cc85e9322c5c2
Mark Abraham [Mon, 19 Jan 2015 10:55:35 +0000 (11:55 +0100)]
Fix use of simd.h
TPI correctness check was inactive.
Use of SIMD preprocessor symbols in forcerec.c was OK because it got
simd.h from nbnxn_simd.h, but also fixed the erroneous use of
transitive inclusion of simd.h just in case that helps someone.
Fixes #1673
Change-Id: Iaf42a4ec420139485de3e509662ca0892fa662c5
Mark Abraham [Fri, 23 Jan 2015 12:33:48 +0000 (13:33 +0100)]
Update FindCUDA work-around
My patch for this issue is in the latest 3.1.1 release for
CMake after all.
Change-Id: I925f58b02b1f2056de84e53d37584051244e770e
Berk Hess [Wed, 21 Jan 2015 11:33:40 +0000 (12:33 +0100)]
Corrected RDTSCP warning text
Change-Id: If66e2d3535df8bb96be29e628546ebb8706afd57
Mark Abraham [Mon, 5 Jan 2015 08:24:06 +0000 (08:24 +0000)]
Fix BlueGene/Q build with recent CMake
Works around broken FindCUDA.cmake in CMake 3.0 and 3.1, when cross
compiling, when the (optional) CMAKE_SYSTEM_PROCESSOR is not set.
Change-Id: I130ac95a84d4a67a7dbf6164ea93c37cda61066a
Berk Hess [Mon, 12 Jan 2015 14:24:35 +0000 (15:24 +0100)]
Fix allocation issue with VV integrator
Allocation of temp buffers for VV and VVAK now uses state->natoms
instead of top_global->natoms.
Fixes #1669.
Change-Id: I64947405c138f601db7daa4f9628a04cff9fa8bb
Mark Abraham [Tue, 9 Dec 2014 12:42:15 +0000 (13:42 +0100)]
Fix and suppress warnings on BlueGene/Q
Extended the solution of I7158e16557 to the Program() function.
Suppressed warning about memory limits during compilation
Change-Id: Ib48fd7614817b8729fce0b0add9b7d68ce5608ff
Mark Abraham [Thu, 8 Jan 2015 18:37:46 +0000 (19:37 +0100)]
Handle ivec* correctly in DD error message
Fixes #1659
Change-Id: I2d0f666801c61fb1ecb56048cd8a776f42d272ee
Berk Hess [Mon, 15 Dec 2014 19:31:44 +0000 (20:31 +0100)]
Fixed pbc=xy + 2 walls + Verlet scheme
Fixes #1660.
Change-Id: Id28f5d164c24d9bc6cb80faa8f4cba5e95262995
Berk Hess [Wed, 17 Dec 2014 10:26:21 +0000 (11:26 +0100)]
Fix bug FE + GPU + 2/3D domain decomposition
Fixes #1661
Change-Id: Ia84f6c1219a2052df0ed1c5c4d7f66c37ed7f67b
Roland Schulz [Tue, 28 Oct 2014 21:49:08 +0000 (17:49 -0400)]
Fix CMP0054 cmake 3.1.0 warnings
Change-Id: I5d91289a543240fa6f493b7f7738522f3c268c07
Mark Abraham [Wed, 1 Oct 2014 12:31:12 +0000 (14:31 +0200)]
Version bumps after new release
Numbers bumped, -dev tag replaced.
Change-Id: I59bbe346656f1892e154f899bac361fcfeea65a1
Mark Abraham [Tue, 9 Dec 2014 10:42:34 +0000 (11:42 +0100)]
Version 5.0.4
Removed -dev tags from versions. Bumped regressiontest hash.
Change-Id: Idcb1c288b0119c17a9ad644179e96c4734a798f6
Mark Abraham [Mon, 15 Dec 2014 17:57:47 +0000 (18:57 +0100)]
Merge "Merge release-4-6 into release-5-0" into release-5-0
Mark Abraham [Thu, 11 Dec 2014 11:22:00 +0000 (12:22 +0100)]
Merge release-4-6 into release-5-0
Change-Id: I952a9b8dd61c0eb7456c640997093a1a5fea8fc3
Berk Hess [Thu, 11 Dec 2014 10:13:34 +0000 (11:13 +0100)]
Added grompp error for pulling to negative distance
Change-Id: Ida5f449709c95e7c89cff32957b9e57bc9d68212
Szilard Pall [Wed, 10 Dec 2014 16:49:07 +0000 (17:49 +0100)]
Fix nstep command line override print
The commit addresses two issues:
- printing negative simulation length with "-nsteps -1";
- eliminates rounding when converting a non-integer time-step value from
fs to ps units.
Fixes #1633
Change-Id: If1aac7e0f4e8e37f3e9777fa4eaa79744f3ccd65
Berk Hess [Mon, 8 Dec 2014 21:18:35 +0000 (22:18 +0100)]
Fix recent bug with trilinic 1D DD
A recent bug-fix (
c8d919a3) for triclinic 1D domain decompostion
introduced a bug for boxes with box[YY][XX]!=0.
Fixes #1656.
Refs #1631.
Change-Id: I06b9376212390b73e90a3ce9704dee2bad9693fb
Mark Abraham [Wed, 1 Oct 2014 12:31:12 +0000 (14:31 +0200)]
Version bumps after new release
Numbers bumped, -dev tag replaced.
Change-Id: I823a0a79a805c67988a461d891771ff999c6548f
Mark Abraham [Tue, 9 Dec 2014 10:42:34 +0000 (11:42 +0100)]
Version 5.0.3
Removed -dev tags from versions. Bumped regressiontest hash.
Change-Id: Ieb2588deeb5c866d621af7cbe7e5709ac6f53220
Carsten Kutzner [Wed, 3 Dec 2014 10:34:38 +0000 (11:34 +0100)]
Make tune_pme understand the "-nsteps" option. Fixes #1650
All command line arguments that tune_pme does not understand are passed over
to mdrun. For a quick sanity check the mdrun options are used together with the
additional option "-nsteps 1", which then appears twice on the command line.
The solution is to let tune_pme understand the "-nsteps" argument, so that it
only occurs on the mdrun command line at launch time. The option for that was
already there but before called "-simsteps".
Change-Id: I8362ced75e67b0e28b4a5e1bd427ae6ae4e0e758
Berk Hess [Tue, 2 Dec 2014 10:14:22 +0000 (11:14 +0100)]
Fixed pull coord init with rate!=0, t_start!=0
When the start time of a simulation is non-zero a pull setup with
coordinates with rate!=0 and pull-start, grompp would generate
incorrect pull init reference values.
Also fixed the layout of the grompp pull coord information table.
Change-Id: I992a40b098853aba0922ec1d596430eb229d64a8
Mark Abraham [Mon, 13 Oct 2014 10:12:40 +0000 (12:12 +0200)]
Fix group-scheme bug with changing LJ parameters in FE
We don't optimize for the case when we have only changed one of charge
or type, so the other vector must always be valid even when it is not
changing. The logic of calling ewald_LRcorrection didn't do this
correctly, perhaps because the construction logic in md2atoms was
unclear.
Changed name, origin and logic for bFreeEnergy to
bHaveChargeOrTypePerturbed to better reflect the correct usage and
meaning. Avoided testing any pointers for NULL - we should use
explicit control-flow constructs.
Fixes #1596
Change-Id: I61172681048075d3022bd6c4b781c6c9153eeadd
Berk Hess [Tue, 2 Dec 2014 09:41:21 +0000 (10:41 +0100)]
Added PBC note to comm-mode=angular warning
Change-Id: Id397d51c05512427414aa7decea55fed83ff42ac
Carsten Kutzner [Mon, 8 Dec 2014 16:34:58 +0000 (17:34 +0100)]
Fixed a typo in the manual.
Using > in Latex text mode gave an upside-down question mark instead...
Also used math mode in expression before, which seems more appropriate.
Change-Id: Iefce4768545e899e922e4fa932c67d222927cefe
Berk Hess [Tue, 2 Dec 2014 08:08:45 +0000 (09:08 +0100)]
Clarified grompp pull error messages
Change-Id: If0df3fcd0d034c4b4ced04eb32ed7bb74e596776
Berk Hess [Wed, 26 Nov 2014 20:17:12 +0000 (21:17 +0100)]
Avoid race on dvdl with Verlet+OpenMP+LINCS+FE+VV
Also restructured the dH/dlambda reduction in do_lincs (used for
coordinates and not affected by the race issue) to work similar
do the do_lincsp code and properly use thread parallelization.
Fixes #1647.
Change-Id: I4eeb131018abca88b3635932491d99a779e16037
Berk Hess [Thu, 13 Nov 2014 11:30:33 +0000 (12:30 +0100)]
Added warning for unnecessary soft-core
The sc-coul mdp option is, presently, only active with lambda states.
grompp now issues a warning when using soft-core without Van der Waals
decoupling without lambda states.
Also fixed an incorrect twin-range grompp check with PME.
Refs #1421.
Change-Id: I0605fe0f735d69f96f478612a00434eccef6232f
Christian Wennberg [Mon, 24 Nov 2014 13:55:47 +0000 (14:55 +0100)]
Fixed typo in amber99sb-ildn force field
Torsion calculations for N- and C-terminus ILE tries to find a non-existing atom type
Change-Id: Ibdc6ecc88e0c4da304b97f092d0a908451e12ac4
Mark Abraham [Wed, 12 Nov 2014 02:41:15 +0000 (02:41 +0000)]
Remove use of interaction_mask_indices on BG/Q
This field was degrading cache performance ~1% on x86. It probably
made little difference on BG/Q, because the extra integer operations
can use the second instruction-issue port, assuming the use of OpenMP
to use more than one hardware thread per core. Overall, this code is
about 1% faster on BG/Q.
Minor fix to the gmx_load_simd_4xn_interactions() function that looks
up the exclusion masks, so that new non-x86 platforms won't silently
fail for want of an implementation of this function.
Minor simplication to always pass simd_interaction_indices to
gmx_load_simd_4xn_interactions(), since it is only used on BG/Q and
then it is non-null.
Change-Id: I140a11607810e9cf08b702cae0b48426c3592fec
Mark Abraham [Thu, 27 Nov 2014 17:04:46 +0000 (18:04 +0100)]
Merge branch release-4-6 into release-5-0
Conflicts:
src/gromacs/gmxpreprocess/readir.c
(added content at same point in both branches)
Change-Id: I9df7cef8c2e4920461fb3d84806c58cf07c645e2
Roland Schulz [Wed, 26 Nov 2014 21:19:18 +0000 (16:19 -0500)]
Fix clang with boost 1.46.1 and 1.47
Change-Id: I53b9fcb1bcf553ea128f7edb2d15bec87fd4f9e9
Ake Sandgren [Thu, 2 Oct 2014 15:29:46 +0000 (17:29 +0200)]
Fix problem with mixed affinity mask on different nodes.
If task distribution (with slurm for instance) causes both fully
allocated and not-fully allocated nodes to be assigned to the job then
there may be tasks with a all-cores affinity mask and tasks with a
not-all-cores affinity masks.
Fixes #1613
Change-Id: I71c0daa43a5dd42da57bfd09037806ce1d9334b5
Berk Hess [Fri, 24 Oct 2014 13:42:38 +0000 (15:42 +0200)]
Fixed triclinic 1xNx1 domain decomposition
With the Verlet scheme, 1D triclinic domain decomposition along
dimension y produces incorrect bounding boxes for the non-bonded grid.
This led to a lot of missing non-bonded interactions, which quickly
crashes any simulation affected by this.
Fixes #1631.
Change-Id: I9bd1fc9d983be839e0c9a8e62d47f6cf17684a03
Berk Hess [Mon, 24 Nov 2014 14:36:13 +0000 (15:36 +0100)]
Fixed twin-range + freeze + constraints
With twin-range cut-offs, atoms which are both frozen and constrained
would experience very large or NaN forces, leading to constraint
warnings and errors.
Fixes #1639.
Change-Id: I1871a87054fec1149c9ed75872451df79a8ac2d2
Berk Hess [Thu, 16 Oct 2014 12:03:49 +0000 (14:03 +0200)]
Avoid NaN in rlist buffer calculation
With constraints on large masses and very low tolerance, the Verlet
buffer calculation could produce 1/0. This could lead to a somewhat
too smaller buffer.
Also added a missing scaling factor to the contribution of the third
derivative of the potential. This issue only caused a minor
overestimate for systems with constraints and without electrostatics.
Change-Id: I97e9d428a83f1b4954012ebd39bc49d397574f8c
Magnus Lundborg [Fri, 24 Oct 2014 08:24:22 +0000 (10:24 +0200)]
When writing TNG the input must contain molecule data.
When using trjcat to write TNG the input must also be TNG since
no tpr file is used.
Fixes #1626
Change-Id: I060e0174f9a471e134a4a899f83afaf02f4fce00
David van der Spoel [Sun, 23 Nov 2014 11:01:02 +0000 (12:01 +0100)]
Added warnings for ewald-geometry and surface-epsilon
ewald-geometry and surface-epsilon require the system dipole,
which will be incorrect when charge groups with net charge cross pbc.
grompp now checks and warns for this.
Refs #1645.
Change-Id: I02e317cbddb47256f942312ec53c5bab2b13be2a
Berk Hess [Fri, 31 Oct 2014 18:10:13 +0000 (19:10 +0100)]
Corrected parameter for sorting on search grid
The nbnxn grid search sorting range parameter used the whole box
height instead of the local DD cell height with domain decomposition
along z. This could not cause errors, but the search used O(N^2) time
with more than 4 domains along z, instead of O(N).
Change-Id: I324df6b15635a5ecff7c8bfeb124fdb933e5f845
Berk Hess [Fri, 17 Oct 2014 13:33:46 +0000 (15:33 +0200)]
Fix DD bonded interaction range print
A recent fix caused the DD setup printing of the maximum bonded
distance to instead print the max of the bonded and the list buffer
to the log file. This was a printing issue only.
Refs #1607.
Change-Id: I685e2e5e07f2f1a0a39c5eef4264a77ddfcecb31
Carsten Kutzner [Wed, 5 Nov 2014 14:53:34 +0000 (15:53 +0100)]
Updated some .mdp file variables to use "-" instead of deprecated "_"
In the .mdp file, now a minus sign instead of an underline is
generally used. Some sections of the manual still listed .mdp
variable names in the old notation.
- three manual sections (pulling, enforced rotation and computational
electrophysiology) now use "-" instead of "_" in .mdp file variable
names
- updated output of rotation code to reflect this up-to-date notation
- no functional changes are in this patch
Change-Id: I7b00193d3e3d549ce8c9a728b307280c0bdd35ce
Justin Lemkul [Wed, 29 Oct 2014 13:10:36 +0000 (09:10 -0400)]
Removed spurious GLY dihedral in AMBER03.
Fixes #1632
Change-Id: I7302e42558454d546e14d7784077fb72c0dbfad7
Viveca Lindahl [Fri, 31 Oct 2014 17:09:10 +0000 (18:09 +0100)]
Fixed typo in cmake warning.
Change-Id: Id096ed65567fa671dce40970948b6435d9c357a0
Roland Schulz [Sun, 9 Nov 2014 07:42:58 +0000 (02:42 -0500)]
Backport valgrind suppression
Was added to master by
106ca9e6 and is now also required by
Jenkins for 5.0. Unclear what triggered that it is required.
Change-Id: I272600716fc986fe77a03fb86da827ba40d17adf
Teemu Murtola [Sat, 23 Aug 2014 03:27:24 +0000 (06:27 +0300)]
Improve analysis nbsearch grid mapping
Now the analysis neighborhood search implements its own version of
put_atoms_in_triclinic_unitcell(). While computing the index of the
correct grid cell, it is relatively easy to produce also the coordinates
that lay within that cell instead of using a separate call. This
provides two benefits:
- It avoids rare rounding problems if put_atoms_in_triclinic_unitcell()
would put the atom right at the edge of the box, but the mapping code
would consider it outside the box, causing out-of-range grid cell
index to be generated.
- It allows to customize the grid mapping more freely (e.g., to create
grids that are not periodic).
Backported from master with minor changes, fixes #1611. Kept commit
message the same; the second point will be only relevant for master.
Change-Id: Ib7602fa49a1b8f7882a63843322786b3e51e8e32
(cherry-picked from
b3e2e82 in master)
Teemu Murtola [Tue, 28 Oct 2014 04:21:59 +0000 (06:21 +0200)]
Avoid common.h inclusion in CUDA code
This is solved nicer in master with I943f90f, but there is little value
in backporting that compared to the effort, since more or less all
changes from there would conflict. This may fix compilation problems
with some nvcc/boost combinations.
Change-Id: I82a26c60d366bfe5fdbcfd8a17bffdb1139ce017
Berk Hess [Wed, 15 Oct 2014 11:24:14 +0000 (13:24 +0200)]
Removed f_novirsum reduction in Verlet scheme
There is a reduction over MPI ranks (dd_move_f) for fr->f_novirsum
for the exclusion correction of PME, which should not contribute
to the virial. But with the Verlet scheme this is unnecessary,
since the exclusions fully are handled in the non-bonded kernels.
Change-Id: I65b3dc90cf01de7b33e955074dfa32bd1940f781
Carsten Kutzner [Tue, 14 Oct 2014 08:56:14 +0000 (10:56 +0200)]
Fix order of ED/swap blocks during checkpoint reading.
For some reason the order of reading the swap state and the essential
dynamics (ED) state were mixed up in read_checkpoint(), which lead to
unreadable state files if both ED and swap functionality were used.
This fix changes the order of those blocks to be consistent with
write_checkpoint().
Change-Id: Ie234486b990861decef9e00fc5125f867001f814
Mark Abraham [Fri, 17 Oct 2014 15:50:12 +0000 (17:50 +0200)]
Extend gmock to turn off socket listener
On Linux, you'd generally expect this feature to work, but on Cray the
linker warns that the use of getaddrinfo() would require linking a
shared library at runtime. That never happens because we don't use the
socket listener feature, but we don't want people stressing over that
at build time.
Change-Id: I9c358a2923d7563809d471f2ea1767cf2e8bbe25
Mark Abraham [Mon, 13 Oct 2014 10:02:59 +0000 (12:02 +0200)]
Merge release-4-6 into release-5-0
Change-Id: I08dc9d5e776480e7686a159cfcd981ba46c510ad
Berk Hess [Fri, 3 Oct 2014 12:00:38 +0000 (14:00 +0200)]
Fixes issue with vsiten and Verlet buffers
Commit
0336ab2d only fixed part of the vsiten issue in the Verlet
buffer calculation code. Parameters were read from incorrect memory
locations, which could lead to a segmentation fault or incorrect
masses for vsiten particles. It unlikely that this affected results.
Part of #1579.
Change-Id: I76cdb94e34194d2f6d49d98a49486ce1df76d91a
Mark Abraham [Mon, 6 Oct 2014 17:48:43 +0000 (19:48 +0200)]
Fix trjconv -split not closing files
With long trajectories, the number of file handles will run out.
Change-Id: I9f6e20ddb836250431460ff6ed918ec74f2699ee
Mark Abraham [Wed, 1 Oct 2014 12:31:12 +0000 (14:31 +0200)]
Version bumps after new release
Numbers bumped, -dev tag replaced.
Change-Id: I9aa220cc837b126ad694786178901db336d7121d
Mark Abraham [Wed, 1 Oct 2014 08:39:40 +0000 (10:39 +0200)]
Version 5.0.2
Removed -dev tags from versions. regressiontest repo has not changed
since 5.0.1, but somehow the hash differs from the one used then.
Change-Id: I0f632262e4dd11875479d4f6a0c932169a699eb9
Carsten Kutzner [Tue, 30 Sep 2014 09:40:52 +0000 (11:40 +0200)]
Allow gmx tune_pme to skip the check for command-line health
Therefore, this patch adds the "-check" command line option, which is
TRUE by default, but can be switched to FALSE in problematic cases.
Documented its main use case in the error message that it would
circumvent.
Also corrected a few typos.
Fixes part of #1609
Change-Id: Id1cadd620438c36c123ff075c9a98ea7d1534d4d