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
Szilard Pall [Fri, 26 Sep 2014 09:53:35 +0000 (11:53 +0200)]
Fix incorrect LJ cut-off with GPU + PME tuning
Due to the mismatch of the macro used in generating and implementing the
twin cut-off CUDA kernels (used with PP-PME load balancing), the VdW
cut-off check was not generated and the (larger) electrostatics cut-off
was enforced instead, causing incorrect results with PME tuning.
Fixes #1603
Change-Id: I43ae19968b30843cfe407e927a5cf0bd35c62881
Berk Hess [Fri, 5 Sep 2014 08:29:04 +0000 (10:29 +0200)]
Avoid DLB with overloaded PME ranks
When separate PME ranks have more load than the PP ranks, DLB can
not improve improve performance. It will actually make it worse,
because the PME x/f redistribution time goes up. Now with -dlb=auto
DLB is not turned on in this situation.
Also DLB is not activated during PME tuning with GPUs and separate
PME nodes, since it then nearly always deteriorates the performance.
Change-Id: I1f5e649a9562fdca9ba538196f41a12feb0a4a24
Berk Hess [Thu, 11 Sep 2014 13:02:14 +0000 (15:02 +0200)]
Added GPU local wait to load balancing
The GPU local wait time was not included in the load imbalance timing.
This could lead to incorrect load imbalance reporting and dynamic
load balancing, especially with CUDA stream priorities.
Note that we can't accurately measure the GPU time, when it finishes
during dd_move_f.
Change-Id: If4bb0f867593450cc025c8593672b0569397b1d6
Erik Lindahl [Tue, 12 Aug 2014 12:15:30 +0000 (14:15 +0200)]
Avoid using function calls in OpenMP directives
The direct calls to gmx_omp_nthreads_get() that were
included in some OpenMP pragmas caused memory
corruption and later segfaults on PGI compilers. This
is likely a compiler bug, but we can work around it
by assigning the function return value to a variable
that we use in the pragma.
Such variables are unused when OpenMP is not in use, which might
offend some compiler some time, so adding a gmx_unused attribute is
useful. However, uncrustify needs to be taught about our custom
attributes, which is also done here.
Change-Id: I3b482bdc2401b40a043975ffd4a741f65efd0cfc
Berk Hess [Mon, 29 Sep 2014 09:39:43 +0000 (11:39 +0200)]
Domain decomposition now checks the rlist buffer
When a large pair-list buffer, which will appear with large nstlist,
atoms are allowed to displace the buffer size, i.e. a lot, in nstlist
steps. The limit this puts on the DD cell size is now checked.
Also updated cg_move_error, which now no longer prints the old atom
coordinates with the Verlet scheme, where the "old" coordinates are
actually the new ones.
Fixes #1607.
Change-Id: I784afa5ee620b51f555f4d1107f38cbbae2c55d1
Roland Schulz [Sat, 20 Sep 2014 16:30:33 +0000 (12:30 -0400)]
Clarify GCC+Win+AVX warning
Message was accidentally not printed for Cygwin.
Message was printed even for GCC version which are OK.
Change-Id: I4560908317919bc36f33f6e430e6b7a34853ae73
Berk Hess [Thu, 25 Sep 2014 18:35:55 +0000 (20:35 +0200)]
SIMD acceleration for RB dihedrals
RB dihedrals now use SIMD acceleration analogous to proper dihedrals
when no energy and virial is required. This also significantly
improves load balancing (issues) for systems with proper+RB dihedrals.
Refs #1598.
Change-Id: I07000125d19db45fc35e1a0c28149c8a19443680
Mark Abraham [Mon, 29 Sep 2014 15:31:09 +0000 (17:31 +0200)]
Merge "Merge release-4-6 into release-5-0" into release-5-0
Berk Hess [Fri, 26 Sep 2014 18:47:47 +0000 (20:47 +0200)]
Avoid PME tuning decreasing rcoulomb
With mdrun input with the grid much finer than fourier-spacing,
PME tuning could reduce rcoulomb below the starting value.
Fixes #1606.
Change-Id: I3ae7fe38a4240251aadb96336199b306fc7dce40
Roland Schulz [Mon, 29 Sep 2014 14:47:53 +0000 (10:47 -0400)]
Merge release-4-6 into release-5-0
Change-Id: Ie72eccf57febab7b7ac8092ce55988b9cb2737af
Berk Hess [Fri, 26 Sep 2014 18:38:29 +0000 (20:38 +0200)]
Fix calc_grid avoiding PME grid factor 84
Due to an indexing issue, it was unlikely that calc_grid, and thus
grompp, would choose a PME grid of 84*2^n and instead use a factor 96.
For a cubic box, this could increase the FFT cost by a factor 1.5.
Fixes #1605.
Change-Id: I8d6a85a98267af053b66867722fc5626ef907964
Szilárd Páll [Thu, 25 Sep 2014 22:49:12 +0000 (00:49 +0200)]
Fix incorrect assertion statement
Copy-paste bug that was totally harmless as we've always had more
electrostatics than VdW kernel types, but it did render the assertion
incorrect.
Change-Id: I996bef6342cbb9bb8ce8994f38cac61924f6af1f
David van der Spoel [Mon, 22 Sep 2014 11:05:20 +0000 (13:05 +0200)]
Fixes potential bug in neighborsearching.
From put_in_list we first call new_i_nblist, then add some
j particles and then close_i_nblist
In new_i_nblist the number of i particles is typically
increased by one, that is nblist->nri is increased.
However, in case that there are no j particles, the nri
is not decreased again, which can lead to reading garbage
data from e.g. nblist->jjindex. In addition there is a
left-over variable (len) that computes the number of
j particles added, but this value is not used.
Change-Id: I38601a6865f6a4d879bec55246deded40943afb7
Roland Schulz [Mon, 22 Sep 2014 17:31:41 +0000 (13:31 -0400)]
Fix message about incorrect usage of dihedral type 9
The warning printed the wrong type number: 4 instead of 9. Also it
didn't clarify that 9 only combines consecutive lines.
Change-Id: Ie65a050c978f162acf9f9a2329dde286c068438c
Erik Lindahl [Sat, 20 Sep 2014 12:12:02 +0000 (14:12 +0200)]
Fix RelWithDebInfo name bugs, and use full optimization.
Gromacs was previously using a different name (RelWithDebugInfo) in
a few places, which caused the build types not to match, and
flags did not propagate correctly. Second, we now add our own
optimization flags at the end of the flag variables, to make it more
likely they override the CMake default choices. Otherwise, the -O2
flag at the end of the default RelWithDebInfo flags might revert our flags.
Change-Id: I4b7e220fbb2d625416e939e71d44412601394c0f
Mark Abraham [Thu, 18 Sep 2014 09:53:17 +0000 (11:53 +0200)]
Merge branch release-4-6 into release-5-0
Conflicts:
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu
Change in release-4-6 was in a function already removed in
release-5-0, so omitted.
Change-Id: I58f745308357211d517ffdb58381ce5fb1a5dceb
Roland Schulz [Tue, 16 Sep 2014 00:08:19 +0000 (20:08 -0400)]
Fix double linkage for tests
cmake automatically adds libraries required by a required library to the
exe linker flags. If the same dependent library is also added for the exe
and it is listed first for the exe, cmake links twice for static libs
(for a cyclic dependency it would be required and cmake can't know).
Under certain conditions (e.g. ICC 15 with static libraries and offload
enabled) this can cause linker errors. We don't have a cyclic dependency
and thus by listing libgromacs after testutils we avoid the potential
problematic double linking. Also fixes that TESTUTILS_LIBS contains
the transitive dependencies, because that is not necessary (they are anyhow
added automatically).
Change-Id: I0327b2dba0538a2c6652c484fd7be7ae4a6cfb5b
Roland Schulz [Fri, 5 Sep 2014 08:26:43 +0000 (04:26 -0400)]
Add missing quotes
Change-Id: Id7568da106b707365c0b30c58a4b7b321f9181f4
Roland Schulz [Fri, 5 Sep 2014 08:28:07 +0000 (04:28 -0400)]
Fix shared libs for Mingw
Change-Id: Ib25e6b2a34080632e1d531da3194680cc8c6825b
Roland Schulz [Wed, 17 Sep 2014 17:39:29 +0000 (13:39 -0400)]
Remove no-inline-max-size and suppress remark
To avoid the remark that inlining isn't possible I added the flag
in
d28edf2a07dcf11. This causes slow compile and should be avoided.
Instead suppress the remark.
TODO (for later): Check whether the additional inlining can improve
permance and consider enable it for release build.
Change-Id: I5866fcc5865fb44ca3dca0cf217e0cab2afbea0c
Roland Schulz [Wed, 17 Sep 2014 00:50:24 +0000 (20:50 -0400)]
Valgrind suppression for OS X 10.9
Change-Id: Ib8d0e6c151ed68a0e80d9d724e167e2838556b2c
Roland Schulz [Wed, 10 Sep 2014 17:06:49 +0000 (13:06 -0400)]
Fix warnings for ICC 15
Also add comment decribing all suppressed warnings
Change-Id: Ib347a2ec1e4b890b8f115c56b1a982f9123a0adf
Mark Abraham [Thu, 11 Sep 2014 12:30:27 +0000 (14:30 +0200)]
Remove documentation references to optimize-fft
The functionality was removed before 5.0 was released
Change-Id: I97d55338f7026b0410c4bdec52a42ac8c24016de
Erik Lindahl [Sun, 7 Sep 2014 18:29:44 +0000 (11:29 -0700)]
Enable static anon namespace workaround on pathscale
The pathscale compilers suffer from the same static
anon namespace bug as the intel ones. Since the bug
is no longer Intel-specific, the INTEL_ prefix in
the macro has been removed.
Change-Id: Id87c9386cb831ba43ae05b2006dcfd0f1bf06be8
Szilárd Páll [Tue, 9 Sep 2014 21:35:26 +0000 (23:35 +0200)]
Fix malformed CUDA version macro check
The CUDA_VERSION macro check is incorrect in two places. The first is
harmless as it is related to legacy CUDA 3.2 version's reporting. The
second occurrence affects the check that enables stream priorities and
due to the incorrect check, with CUDA 5.5 priorities have not been used.
Fixes #1594
Change-Id: Icf781d41549c39b6b913c11bb11d4dc4e9f3be9c
Berk Hess [Tue, 9 Sep 2014 12:35:52 +0000 (14:35 +0200)]
Fixed DD state collection issue
Collecting the cg distribution state to the master (for output
of replica exchange) could go wrong when the DD was out of sync.
This code path was probably never executed.
Change-Id: I14b41c15ddc827a46f7c6448fb7bd90414f8e210
Berk Hess [Mon, 8 Sep 2014 07:36:04 +0000 (09:36 +0200)]
Check for implicit solvent + Verlet scheme
Fixed #1570
Change-Id: I8734c2dc99d3bc3e0a79ae043d86854446f3b495
Roland Schulz [Fri, 5 Sep 2014 18:46:47 +0000 (14:46 -0400)]
Fix build for external boost 1.56.0
exception/detail/attribute_noreturn.hpp has been removed in 1.56. We
shouldn't have used a detail header in the first place. In master
we can use GMX_ATTRIBUTE_NORETURN but 5.0.x it is defined only
for code analysis not for compilers.
Change-Id: I6f26d6ddc62c73f583d324f7c794a499c274b394
Mark Abraham [Fri, 5 Sep 2014 12:21:56 +0000 (14:21 +0200)]
Version bumps after new release
Numbers bumped, -dev tag replaced.
Change-Id: Ie5d579a360e935743e99577e0d01779569156893
Mark Abraham [Fri, 5 Sep 2014 12:20:27 +0000 (14:20 +0200)]
Version 5.0.1
Bumped version numbers to remove -dev tags, bumped regressiontest
md5sum.
Change-Id: I1ec0a9b850a796d44e89025b742521ff48d8f482
Roland Schulz [Wed, 3 Sep 2014 21:48:23 +0000 (17:48 -0400)]
Add Mingw warnings
Change-Id: I8825ee1948fe03be751f09bc87db050f89fa49bd
Erik Lindahl [Wed, 30 Jul 2014 13:06:50 +0000 (15:06 +0200)]
K-computer specific modifications
This commit implements most of the K-computer-
specific changes for Gromacs-5.0. The HPC-ACE
SIMD module has been added since we need the
exponentials for LJPME, and there are also some
fixes to the LJPME nonbonded accelerated group
kernels that prevented them from compiling.
The SIMD unit tests have been modified to avoid
making assumptions about the internal storage
being single or double, since HPC-ACE only
supports double. The toolchain files have
been updated and moved to the platform subdir,
and we now have a separate module to handle
Gromacs-specific flags and settings for K.
Change-Id: I5b832809b5dd52ef4b72f6cd41b1b3da1c036a57
Christoph Junghans [Wed, 3 Sep 2014 23:15:12 +0000 (17:15 -0600)]
cmake: missing quote
Found on my old MacBook, where CMAKE_BUILD_TYPE is empty by default.
Change-Id: Icf63666f4b4c3f18214ba091819b0238d7f4a225
Roland Schulz [Mon, 1 Sep 2014 02:25:26 +0000 (22:25 -0400)]
Fix MingW build
Change-Id: Id6025838e274305266f0f90eda2ddbb48355d792
Erik Lindahl [Tue, 2 Sep 2014 09:01:20 +0000 (11:01 +0200)]
Fixed sc_power==48 crash in single precision
A few summation variables in the free energy kernel
need to be double to avoid overflows for 48th power
softcore interactions.
Fixes #1580.
Change-Id: I3263e9eb83515ebaf9f6c04fd0e57ae179933d4e
Mark Abraham [Wed, 20 Aug 2014 08:20:21 +0000 (10:20 +0200)]
Fix mis-use of fabs in LAPACK
clang-3.5 warns that fabs is not the right approach.
Change-Id: Ib7125fcad2f4fda99abf7b67f296f24d84cb34be
(cherry picked from commit
d9c0e416e180cdd7e0a158d8d9b9e1fe59ef89b7)
Mark Abraham [Tue, 2 Sep 2014 15:40:56 +0000 (17:40 +0200)]
More hacking to get the template to detect and build
Change-Id: Ifa945dedfcd70a571171fb156d5eaad37e1d761c