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
Roland Schulz [Thu, 28 Aug 2014 19:38:24 +0000 (15:38 -0400)]
Fix that TNG tests were not run
Missing config.h meant there were not run.
Also fix rerun test without zlib. The input is zlib compressed and thus should
only be tested if zlib support is available.
Change-Id: Ia80abcb7584f698512578652621cb16c16e4188a
Erik Lindahl [Tue, 2 Sep 2014 16:58:12 +0000 (18:58 +0200)]
Fixed preprocessor error for AVX_128_FMA simd
Some endifs appear to have been left when we
removed the MSVC-specific macros.
Change-Id: If5dcb9269348f2a34f2c37efb0856925bb473940
Erik Lindahl [Mon, 28 Jul 2014 18:49:22 +0000 (20:49 +0200)]
Fix formatting of fatal errors in g_bar
The lambda value has changed from a floating
point number into a complicated vector, so we
now have a small routine that formats the contents
of this vector for the fatal error routines.
Fixes #1531.
Change-Id: I41f7d27c16a76879d6f1f7dc669655d755c1ce3d
Roland Schulz [Tue, 26 Aug 2014 19:10:10 +0000 (15:10 -0400)]
Fix PRINT_ALLOC_KB output
Only an issue when compiled with -DPRINT_ALLOC_KB
Change-Id: I0fed328ba8e8f943ece3b38f63ce5b6cf84f0f5e
Magnus Lundborg [Tue, 26 Aug 2014 12:02:06 +0000 (14:02 +0200)]
TNG Fix for GMX_DOUBLE builds and where ZLIB is not available.
Also includes a check that the user name can be retrieved
before trying to set it.
Change-Id: I51d4ab2e590752980953d1926d4bea56fe1beffa
Magnus Lundborg [Fri, 29 Aug 2014 09:37:44 +0000 (11:37 +0200)]
Fix data block length when uncompressing TNG data.
Also, if there are no bonds in a molecule do not reserve
memory for them (to avoid a returned NULL pointer).
Change-Id: I06f9ad71711174017a229faec53d6dca08ee99d0
Erik Lindahl [Tue, 2 Sep 2014 06:36:34 +0000 (08:36 +0200)]
Fixed string var expansion in CMake due to CMP0053
CMake policy 0053 means they are deprecating the usage of
@VAR@ in CMakefiles, so CMake-3.0.2 has started to
issue big warnings about this. Replace them with ${VAR}.
Change-Id: I4e63a4eb038edbc27019bfb89c7106e97aa194c2
Magnus Lundborg [Wed, 20 Aug 2014 06:56:12 +0000 (08:56 +0200)]
TNG: Handle large files on 32 bit systems.
Force 64 bit file positions and sizes to make sure that files
>2 GB work.
Change-Id: I70ea7fb96891dfa2d18d6188677e946b3a0a0ac6
Justin Lemkul [Sun, 31 Aug 2014 15:10:33 +0000 (11:10 -0400)]
Updated x-axis label for g_wham.
It was confusing to label it "z" as this is not conventional notation
and several users have interpreted the output as applying only to the
z-axis. This commit updates the x-axis label to be the more conventional
Greek "xi" used for reaction coordinates.
Change-Id: Ib60af7b03155a792792d3496184d298c834389e9
Magnus Lundborg [Tue, 15 Jul 2014 13:54:49 +0000 (15:54 +0200)]
When writing TNG include file closing in wallcycle.
If there is an unwritten frame set when closing a TNG file
it will be written to disk. This includes compressing the
data (when writing compressed output), which can take a
significant amount of time if the system is large.
This should be included in the wallcycle count to make it
more fair.
Change-Id: Ida43fe73b8bc1b0c1326e286a4bff647410da45f
Mark Abraham [Fri, 4 Jul 2014 14:05:27 +0000 (16:05 +0200)]
Fix and document issues with template.cpp
Boost is a requirement for the template, so the FindGROMACS.cmake
needs machinery to deal with that. It will now find the Boost internal
to GROMACS.
pkg-config generally helps (if available and GMXRC is sourced), and
that use is now documented in the README.
Finding the GROMACS libraries and headers is also a requirement. This
now works whether or not the user has sourced GMXRC or has pkg-config
installed. The user can over-ride this with CMAKE_PREFIX_PATH if they
want to.
The template needs to use the same compiler and compiler flags for
post-C++98 support, and this is now documented in the README. In
master branch, some of these issues are side-stepped, so take due care
when merging.
Fixes #1554
Change-Id: Id30cf5149ead4a3f719499e37776a00f08309afc
Mark Abraham [Mon, 1 Sep 2014 18:56:21 +0000 (20:56 +0200)]
Merge "Merge branch release-4-6 into release-5-0" into release-5-0
Mark Abraham [Sun, 17 Aug 2014 22:10:32 +0000 (22:10 +0000)]
Fixes and updates to BlueGene/Q support
Stopped hard-coding compilers, since these vary between sites. Moved
compiler suppressions to gmxCFlags to follow standard practice better.
Permitted use of software invsqrt, even though you don't want to use
it.
Suppressed several kinds of false-alarm warnings with whole-of-source
compiler suppressions. I would preferred to keep the suppressions as
file-level compiler flags, but the way we compile our list of source
files for libgromacs makes this inconvenient, and the compiler would
not accept the PBC-related suppression as a pragma, either. Build is
now finally free of warnings (so long as you don't use the built-in
LAPACK with bgclang-3.5). Restructured some helper functions that
return strings whose getters might throw, so that there is a return
value that will keep compilers happy in all cases.
Change-Id: I7158e165575934be2b76beee7c10f860ccf58b76
Mark Abraham [Mon, 1 Sep 2014 16:22:23 +0000 (18:22 +0200)]
Merge branch release-4-6 into release-5-0
Conflicts:
CMakeLists.txt
Left version stuff in release-5-0 alone, because they should be
unaffected by release-4-6 version bumps.
Change-Id: I000cba25affa818b9e4283e85ae8cdf61f7c53a1
Mark Abraham [Mon, 1 Sep 2014 16:20:15 +0000 (18:20 +0200)]
Merge "Merge branch release-4-6 into release-5-0" into release-5-0
Erik Lindahl [Thu, 21 Aug 2014 06:35:41 +0000 (08:35 +0200)]
Added negative zero preprocessor constants
We had some discussions already when we started using negative
zero that it could be fragile on some compilers, and apparently
PGI is one of them. Maybe not the most important target, but it
makes sense to have a common constant in one place, and it can
also save some cycles in tight loops to clearly separate float
from double versions so we avoid extra precision conversions.
Change-Id: Id30a536b4f99f0310bfb2ec5185275c466cf5e07
David van der Spoel [Sat, 30 Aug 2014 14:17:38 +0000 (16:17 +0200)]
Fixes issue with vsiten and verlet buffers.
A loop counter for a loop over vsiten did not take into
account that multiple entries make up one vsiten
particle. Part of #1579.
Change-Id: Ic9a79e89ea9ef8f9f529c9d4a6c5cf05f65e9c7d
Mark Abraham [Fri, 29 Aug 2014 13:47:10 +0000 (15:47 +0200)]
Version bump after 4.6.7
Change-Id: I1f2e73c2b94f31b67e65bf7cf188fb542391ab4d
Mark Abraham [Thu, 28 Aug 2014 14:22:11 +0000 (16:22 +0200)]
Merge branch release-4-6 into release-5-0
Conflicts:
src/gromacs/fileio/gmxfio.c
Used new release-4-6 code calling renamed md5 functions
src/gromacs/gmxana/gmx_covar.c
Used gmx_ffclose, not ffclose, for file opened with xvgropen.
Change-Id: If6f9cb61bf7eab06dfdc61a03ad89ed38d599382
Berk Hess [Fri, 15 Aug 2014 09:20:28 +0000 (11:20 +0200)]
Fixed two PME issues with MPI+OpenMP
Change
272736bc partially fixed #1388, but broke the more general
case of multiple MPI communication pulses in PME. Change
272736bc
incorrectly changed tx1 and ty1. This change has been reverted.
Change
27189bba fixed the incorrect PME grid reduction with multiple
thread grid overlap in y. But it broke the, much more common, case
where the y-size of the PME grid is not divisible by the domains in y.
This change, incorrectly, changed buf_my.
Now buf_my is set to the correct value, which solves both issues.
Fixes #1578.
Refs #1388 and #1572.
Change-Id: Id2d7d013a3b8cdc04eda1fb026567088a38ec81f
Berk Hess [Tue, 19 Aug 2014 08:10:48 +0000 (10:10 +0200)]
Fixed bugs in vsiteN with OpenMP
Fixes #1579.
Change-Id: I42d234f4ad6a94e8f7b6b8236ea119860dd9f7ab
Berk Hess [Fri, 22 Aug 2014 10:37:49 +0000 (12:37 +0200)]
Initialize unused velocity constraint components
With domain decomposition, velocity components for communicated
atoms could be uninitialized. These components were never used, but
this could lead to valgrind warnings and floating point exceptions.
Fixes #1576.
Change-Id: Ic673680699578ddf62c2d240342138cbc16490c8