alexxy/gromacs.git
10 years agofix thread offset + stride check
Szilard Pall [Mon, 27 May 2013 17:07:30 +0000 (19:07 +0200)]
fix thread offset + stride check

This commit fixes the check which makes sure that the combination of
thread offset and stride does not cause pinning beyond the last hardware
thread.

Additionally, also improved pinning-related warnings and notes.

Change-Id: Ia33610cacb7526dca2ff69491aac2973c7333022

10 years agoFixing the constraint dhdl term in shake
Michael Shirts [Sun, 26 May 2013 14:22:09 +0000 (10:22 -0400)]
Fixing the constraint dhdl term in shake

Addresses and corrects new issues with #1255,
with additional comments explaining what else
may need to be done in the future to make sure
that the theory of the changes are completely
correctly founded.  See the redmine entry #1255
to see the numerical validation of the current choices.
Also adds possible missing constraint dHdl contribution.
Fixes #1268

Change-Id: Ibe3980c2e265cced49b03b966e02143c5cf9f07c

10 years agoFixes #1194 error reading 4.5.5 tpr files with dihres
David van der Spoel [Wed, 1 May 2013 13:08:29 +0000 (15:08 +0200)]
Fixes #1194 error reading 4.5.5 tpr files with dihres

Somehow the tpx_version produced by 4.5.5 was higher (73)
than expected, making the the tpx reading incorrectly
assuming this was using the new file format.
Now set to the version before the
first official 4.6 tpx format, 82 to match the tpr files
in the regression tests. Duh!

Change-Id: I40d8ffa0d350cf3b690f8dfb071fc191f027d02f

10 years agoWork around for correct treatment of all-vs-all
Mark Abraham [Fri, 24 May 2013 14:50:37 +0000 (16:50 +0200)]
Work around for correct treatment of all-vs-all

Neither C or accelerated all-vs-all kernels work in 4.6. The group
SIMD kernels do not work either. The non-accelerated kernel is OK,
though.

Fixes #1249 (for certain values of "fixes"), refs #1095

Change-Id: Id52c0ba110aa915e77859585c2cbfd4d529fe3ca

10 years agoFixed calculation of slab buffer size for flexible potentials.
Carsten Kutzner [Tue, 21 May 2013 14:31:46 +0000 (16:31 +0200)]
Fixed calculation of slab buffer size for flexible potentials.

The slab buffer size is difference in slabs between the reference and
the current positions of the rotation group. This was originally
calculated once in the init_rot_group() routine. However, it needs
to be calculated at every step since it changes when the rotation group
expands or contracts along the rotation vector.

Change-Id: I3b1fac41f88744e14e712454ae546c94f9b26750

10 years agoFix an error in selection online help.
Teemu Murtola [Fri, 24 May 2013 03:56:59 +0000 (06:56 +0300)]
Fix an error in selection online help.

Fixes #1262.

Change-Id: Ia9144690327b852dfab58e833cc2fdc20579b277

10 years agoFix for a rare condition in flexible rotation potentials.
Carsten Kutzner [Thu, 23 May 2013 16:23:41 +0000 (18:23 +0200)]
Fix for a rare condition in flexible rotation potentials.

Change-Id: Icc6c7fceaba3fa53f3f2d627c3c205469fc9d710

10 years agominor function argument cleanup
Szilard Pall [Mon, 27 May 2013 17:37:18 +0000 (19:37 +0200)]
minor function argument cleanup

Removed an unused function argument and changed anoehter one to not pass
the entire nonbonded verlet data structure to the nbnxn_cuda module, but
only what's needed from it.

Change-Id: I89699548f69245eba6d8451683ba6dc36af75dc2

10 years agoCode cleanup in enforced rotation module, remove warnings.
Carsten Kutzner [Wed, 22 May 2013 13:47:47 +0000 (15:47 +0200)]
Code cleanup in enforced rotation module, remove warnings.

Change-Id: Iceb458b06f2c003c6325c77c3258edb112e449f6

11 years agoFix of memory leak
Michael Shirts [Sun, 26 May 2013 15:52:52 +0000 (11:52 -0400)]
Fix of memory leak

Fixes #1265 (probably)

freeing data in expanded ensemble code that should have been freed all along.

Change-Id: I115ee068c56e4edab8fcea828e60ee1386f00716

11 years agoMake FFT detection quieter when nothing is changing
Mark Abraham [Sun, 14 Apr 2013 16:01:45 +0000 (18:01 +0200)]
Make FFT detection quieter when nothing is changing

Change-Id: I58ae8571de21eb81998a6dbce5883c1343552eeb

11 years agoFixed a potential race condition in tMPI_Thread_create()
Sander Pronk [Tue, 21 May 2013 13:33:18 +0000 (15:33 +0200)]
Fixed a potential race condition in tMPI_Thread_create()

The pthreads version of tMPI_Thread_create contained a potential race
condition where the tMPI_Thread_t structure may not be fully populated
as the child thread starts.

Refs #1254

Change-Id: I86e8faaa3d27b88269257be8d7df66ef728dbb0d

11 years agoClarify g_gyrate -h
Mark Abraham [Wed, 22 May 2013 10:06:38 +0000 (12:06 +0200)]
Clarify g_gyrate -h

The description could be better still, but since I don't know
exactly what g_gyrate does, I will leave it alone.

Partial fix for #934

Change-Id: If797ed87f07d119ef5d778e341735e2c1d48ff9e

11 years agoFix g_chi -omega
Mark Abraham [Mon, 29 Apr 2013 22:48:24 +0000 (00:48 +0200)]
Fix g_chi -omega

Per IUPAC, we should calculate peptide omega angles from
Calpha-C-N-Calpha, and there are only n-1 such angles defined for a
polypeptide of n amino acid residues.

There are some other IUPAC violations in make_chi_ind(), but solving
those is deferred to 5.0, not least because there will be a
behavioural change when we conform to IUPAC.

The problem that led to the report had several causes. The hard-coding
of the string names for hydrogen bound to peptide nitrogen (which in
CHARMM27 is "HN") meant that an H atom was not found. has_dihedral()
then checked whether a Calpha was found, which was true. Then
make_chi_ind() computed the angle based on H without doing any further
check. So some garbage coordinate was looked up when computing the
angle.

A proper fix for this kind of stuff for 5.0 requires finding all the
places we try to guess what atoms are from their names and using
properly implemented selections.

Also removed orphaned header file.

Fixes #953, details and links there

Change-Id: I63257a1d6d8ed46d251b8bc0cb308dfbd2864a97

11 years agoFix genion -nq and -pq when using -neutral
Pedro Lacerda [Mon, 20 May 2013 05:11:16 +0000 (02:11 -0300)]
Fix genion -nq and -pq when using -neutral

Currently genion can't neutralize (-neutral) systems when -nq/-pq
differs from -1/+1. This commit fixes the problem.

Change-Id: If2a82ace079555d8a684ea876daa947677d5e442

11 years agoUpdated grompp cut-off and PME-Switch checks
Mark Abraham [Thu, 25 Apr 2013 14:34:23 +0000 (16:34 +0200)]
Updated grompp cut-off and PME-Switch checks

Added a warning with PME-Switch when switching over more than 5%.
Charge-group size rlist notes/warnings now also appear when
potential modifiers are used.
Documented effect of potential-modifiers on the group scheme cut-off
treatment in mdp_opt.html.

Fixes #1179

Change-Id: Ide00caf5ae378104f99611bf197e896d1b53d7d7

11 years agoFix -neutral option in genion
P S Lacerda [Fri, 17 May 2013 06:14:41 +0000 (03:14 -0300)]
Fix -neutral option in genion

The help for -neutral says that it "will add enough ions to neutralize
the system", but this option can only be used in combination with -conc.
This commit makes -neutral independent.

Change-Id: I08b019b05cf3d8511757c4665c24dcaa37968ceb

11 years agoFixed problem with bond constraint dhdl being left out
Michael Shirts [Fri, 17 May 2013 18:44:00 +0000 (14:44 -0400)]
Fixed problem with bond constraint dhdl being left out

At some point, the dhdl from the holonomic bond constraints got left out,
because the term got zeroed before being added to the bonded energy.

Also, I made some of the variable names involved more descriptive to
clarify the logic.

Removed velocity constraint calls, as don't contribute to dhdl.

Fixes redmine #1255

Change-Id: I2eebf357d1a922b7636dc015b09f286827283dd0

11 years agoFujitsu Sparc64 acceleration and general fixes for non-x86 builds
Erik Lindahl [Sun, 6 Jan 2013 13:50:23 +0000 (14:50 +0100)]
Fujitsu Sparc64 acceleration and general fixes for non-x86 builds

Fixes configurations not to assume x86 and avoid warnings, in
particular if a non-x86 acceleration is used.
The cpu detection code has been extended to parse /proc/cpuinfo on
Linux in cases where the x86 CPUID instruction (or the inline
assembly to execute it) is not available.
Finally, there are new group kernels accelerated for use on the
K computer, which uses the Sparc64 HPC-ACE instruction set. These
kernels are roughly ~35% faster than the compiled C version, which
means Gromacs-4.6 is now ~70% faster on K than Gromacs-4.5.

Change-Id: I92559f0ac6159b504f100447a41a03e4b33fec19

11 years agoNew version of thread_mpi with many minor enhancements
Sander Pronk [Fri, 26 Apr 2013 11:59:19 +0000 (13:59 +0200)]
New version of thread_mpi with many minor enhancements

- Fixed issues with collective calls with 1 thread
- Fixed deadlocks with copy buffer turned on
- Turned off copy buffers by default for Gromacs
- Fixed error handling on low-level calls
- Low-level errors are now propagated correctly through MPI
- Simplified the atomics
- Compiles for platforms for which atomics are not supported.
- Added Fujitsu Sparc64 support

Change-Id: I3553906d6630cea8b1efe59fca293fe3c066c8d9

11 years agoHack compiler flags to silence warnings on gcc 4.8
Mark Abraham [Mon, 20 May 2013 22:13:38 +0000 (00:13 +0200)]
Hack compiler flags to silence warnings on gcc 4.8

GCC changed its default behaviour when reporting a number of different
kinds of warnings. We don't want to fix these in the bugfix branch
because even where it is possible it looks too invasive. We plan to
address these issues in a less heavy-handed manner in master branch.

Note when merging to master, do not include this patch.

Change-Id: I14f00357195424dd538aca4b319e5c2c120c691d

11 years agoIntroduce fatal error for GB with FE
Mark Abraham [Wed, 1 May 2013 15:06:56 +0000 (17:06 +0200)]
Introduce fatal error for GB with FE

Old code silently computed zeroes for Coulomb(SR) when using
Generalized Born and the free energy kernel, because of the
inappropriate use of a default branch of a switch statement.

Fixed the default branch for icoul and ivdw switch statements to issue
gmx_incons (similar to usage in the Verlet kernel code). Now we invoke
explicit code paths for all legal values of icoul and ivdw. Added
gmx_fatal for un-implemented GB case (similar to the gmx_fatal for
Buckingham with this free energy kernel).

Partial fix for #1237

Change-Id: I30684aed9fba9beac9b1b87eb99e2cbc7e7e374d

11 years agoFixed g_sgangle legends.
Justin Lemkul [Wed, 15 May 2013 14:28:58 +0000 (10:28 -0400)]
Fixed g_sgangle legends.

There were no legends previously, and questions are often asked
about the interpretation of the data.  This commit adds proper
s0 and s1 legends in XmGrace format.

Change-Id: I7bdcb57167eb3a0cef90a9b9dba9d04b86ba7cbd

11 years agoChoose the PBC image of each rotation group atom depending
Carsten Kutzner [Tue, 30 Apr 2013 15:32:04 +0000 (17:32 +0200)]
Choose the PBC image of each rotation group atom depending
on the current position of it reference atom. Therefore,
1) in choose_pbc_image() the correctly rotated reference position
has to be used (the addition of the pivot vector was missing)
2) in init_rot_group(), the reference positions have to be
correctly determined for restarts. In these cases, the initial
angle of the reference group is different from zero.

Change-Id: I57f886c507317385619e42bf387e407479b0c08d

11 years agoMerge "fixed incorrect scaling of cos-acceleration viscosity" into release-4-6
Christoph Junghans [Wed, 15 May 2013 19:53:56 +0000 (21:53 +0200)]
Merge "fixed incorrect scaling of cos-acceleration viscosity" into release-4-6

11 years agoMerge "Fixing handling of perturbation mass changes." into release-4-6
Sander Pronk [Fri, 10 May 2013 13:17:11 +0000 (15:17 +0200)]
Merge "Fixing handling of perturbation mass changes." into release-4-6

11 years agoMerge "Fixes "Function type U-B not implemented in ip_pert."" into release-4-6
Mark Abraham [Fri, 10 May 2013 12:14:43 +0000 (14:14 +0200)]
Merge "Fixes "Function type U-B not implemented in ip_pert."" into release-4-6

11 years agoMerge "improve build with OpenMM, still not 100% fixed" into release-4-6
Mark Abraham [Fri, 10 May 2013 11:53:04 +0000 (13:53 +0200)]
Merge "improve build with OpenMM, still not 100% fixed" into release-4-6

11 years agoMerge "fixing rerun with free energy + .xtc or .gro" into release-4-6
Mark Abraham [Fri, 10 May 2013 09:45:08 +0000 (11:45 +0200)]
Merge "fixing rerun with free energy + .xtc or .gro" into release-4-6

11 years agoimprove build with OpenMM, still not 100% fixed
Christoph Junghans [Fri, 18 Jan 2013 03:30:30 +0000 (20:30 -0700)]
improve build with OpenMM, still not 100% fixed

* introduced in e508a07b6e127fa1cf31d263bcbd33e4040066cb

Change-Id: I6ad45fd2d5766d1c4a91ef2e0c442ff030fc1296

11 years agofixed incorrect scaling of cos-acceleration viscosity
Berk Hess [Wed, 8 May 2013 16:07:38 +0000 (18:07 +0200)]
fixed incorrect scaling of cos-acceleration viscosity

The cos-acceleration 1/viscosity output contained an anomalous factor
1/volume. This factor is now removed.
Fixes #1244

Change-Id: I9bf318b4e6557720683d50a0c2e887e306bacc3f

11 years agofixing rerun with free energy + .xtc or .gro
Michael Shirts [Tue, 7 May 2013 05:37:56 +0000 (01:37 -0400)]
fixing rerun with free energy + .xtc or .gro

When running rerun specifying init-fep-state rather than lambda (which
is necessary if the vector components are specified separately), the
init-fep-state in the .mdp is ignored. There .trr appears to already work
correctly.

Fixes bug #1240

Change-Id: Id118ae9273ef67438797306a74ac3bccfb8c4dba

11 years agoFix extant references to former GPL licensing
Mark Abraham [Tue, 7 May 2013 18:06:59 +0000 (20:06 +0200)]
Fix extant references to former GPL licensing

Some files did not have the copyright header I applied in 2012, so
I have re-applied that header as I would have then.

Some references remain in src/contrib and share/top/residues.dtd,
because I do not know whether they should change.

Change-Id: Ia80adc0c55ac1776297754a90cc0f8b5de7eae8f

11 years agoFixes #1238 g_hydorder does not call set_pbc.
David van der Spoel [Thu, 2 May 2013 06:30:23 +0000 (08:30 +0200)]
Fixes #1238 g_hydorder does not call set_pbc.

Now it does.

Change-Id: I1085ca9ad8e8ece1803feee605d39932483a77f9

11 years agoFixing handling of perturbation mass changes.
Michael Shirts [Sun, 28 Apr 2013 00:57:19 +0000 (20:57 -0400)]
Fixing handling of perturbation mass changes.

Fixes redmine #1232

in force.c, sum_dhdl

 * moved F_DKDL to match the order in efpt_names.  Not required, but
   harmonizes the code (lack of clarity probably helped cause the
   problems before), has no code effect.

 * no longer treating the F_DKDL term separately from the other
   derivative components.  Will be added to F_DVDL if the mass-lambda
   term is not separately specified.  Results in a bit of a misnomer
   (F_DVDL becomes the derivative of the entire hamiltonian), but
   makes it much easier to collapse all molecular perturbation terms
   into a single component for output, where it is no longer really
   F_DVDL.  I think that's better than always printing out a F_DVDL
   and a F_DKDL for everything where F_DKDL will probably usually
   be zero.

in md_support.c, compute_globals

 * Synchronize the behaviors of the dhdls by writing first to the linear component
   corresponding to the mass, and then later transferring it to F_DKDL

in group.h, struct gmx_ekindata_t
 * add pointer to per-thread accumulation variable for dekindl

in tgroup.c, sum_ekin

 * For velocity verlet integrators, computes the dekindl correctly as
   the derivatives of the current ekin.  Shouldn't really affect the results
   in any significant way, since the average contribution will be the same
   regardless, but this is more consistent.

in tgroup.c, init_ekindata

 * reduce use of numeric constants in allocating memory

 * initialize new ekindata_t member

in update.c, calc_ke_part_normal

 * zero the accumulator for dekindl before using it,
   fixing bug introduced in 7b6508e8

in update.c, in calc_ke_part_normal and calc_ke_part_visc

 * sign error in mass change; if mass B is greater than mass A, then the
   change in free energy is positive, not negative.

Change-Id: I9deaf546bca66d400e0eb2c4015abeeda302dd1d

11 years agoFixes "Function type U-B not implemented in ip_pert."
Magnus Lundborg [Mon, 29 Apr 2013 19:33:52 +0000 (21:33 +0200)]
Fixes "Function type U-B not implemented in ip_pert."

Fixes this bug, occuring when running free energy calculations using
the CHARMM ff. Refs #1115.

Change-Id: Ia3becd61eca93447c936bdb3297570684ae29a28

11 years agoEvaluate enforced rotation potenial with Verlet, fixes #1155
Carsten Kutzner [Thu, 14 Mar 2013 10:37:36 +0000 (11:37 +0100)]
Evaluate enforced rotation potenial with Verlet, fixes #1155

Change-Id: I6231a9a6cd9cd4004d53b721922e5d9298af76a2

11 years agoMerge "Update linking to MKL and document same" into release-4-6
Mark Abraham [Mon, 29 Apr 2013 18:16:39 +0000 (20:16 +0200)]
Merge "Update linking to MKL and document same" into release-4-6

11 years agoMerge "general SIMD acceleration for angles+dihedrals" into release-4-6
Mark Abraham [Mon, 29 Apr 2013 15:21:26 +0000 (17:21 +0200)]
Merge "general SIMD acceleration for angles+dihedrals" into release-4-6

11 years agoMerge "PME load balancing now checks for PME grid restrictions" into release-4-6
Mark Abraham [Mon, 29 Apr 2013 14:43:01 +0000 (16:43 +0200)]
Merge "PME load balancing now checks for PME grid restrictions" into release-4-6

11 years agogeneral SIMD acceleration for angles+dihedrals
Berk Hess [Thu, 28 Feb 2013 17:05:40 +0000 (18:05 +0100)]
general SIMD acceleration for angles+dihedrals

Implemented SIMD intrinsics for angle potential and pbc_dx.
Changed SSE2 intrinsics to general SIMD using gmx_simd_macros.h.
Improves performance significantly, especially with AVX-256
and reduces load imbalance, especially with GPUs.

Change-Id: Ic83441cce68714ae91c6d5ca2a6e1069a62cd2ae

11 years agoMerge "Fixing a problem with dh/dl 1-4 interactions" into release-4-6
Mark Abraham [Mon, 29 Apr 2013 11:20:53 +0000 (13:20 +0200)]
Merge "Fixing a problem with dh/dl 1-4 interactions" into release-4-6

11 years agoMerge "CUDA PME kernels with analytical Ewald correction" into release-4-6
Mark Abraham [Fri, 26 Apr 2013 17:04:11 +0000 (19:04 +0200)]
Merge "CUDA PME kernels with analytical Ewald correction" into release-4-6

11 years agoPME load balancing now checks for PME grid restrictions
Berk Hess [Thu, 21 Mar 2013 11:30:22 +0000 (12:30 +0100)]
PME load balancing now checks for PME grid restrictions

To enable this, the PME restrictions checks have been moved
to a separate function called gmx_pme_check_restrictions.
Also allowed nkx==nnodes_major*(order-1) again with threading.

Change-Id: I50b6f8cfaeba5e360c534424c80c320515812e43

11 years agoMerge "improved load balancing with Verlet cut-off scheme" into release-4-6
Mark Abraham [Fri, 26 Apr 2013 16:51:33 +0000 (18:51 +0200)]
Merge "improved load balancing with Verlet cut-off scheme" into release-4-6

11 years agoFixing a problem with dh/dl 1-4 interactions
Michael Shirts [Sat, 20 Apr 2013 15:57:55 +0000 (11:57 -0400)]
Fixing a problem with dh/dl 1-4 interactions

In some cases, dh/dl interactions are added twice when the
couple-intermol keyword is not used.

These lines were originally removed in 7763fa8f while fixing thread
safety in free-energy calculations, but were erroneously re-introduced
in f40969c. Versions 4.6 and 4.6.1 were affected.

Fixes #1225

Change-Id: If24177833eb4a96a6c6ef0d1ecc9a23bf80a90b1

11 years agoUpdate linking to MKL and document same
Mark Abraham [Mon, 11 Mar 2013 11:31:15 +0000 (12:31 +0100)]
Update linking to MKL and document same

Works using nifty feature from icc 11 and up, or any other compiler if
the user does the legwork (which is all we ever used to offer).

Code that used HAVE_LIBMKL had a bug, which we never saw because
the top-level CMakeLists.txt set HAVE_MKL. Fixed that.

Removed unused TextMKL.c code - check_function_exists() is sufficient.

Refs #1110,#1186

Change-Id: I39a66673e5fe571a5f8b0691bbe2ec619cd60778

11 years agoMerge "v-rescale works with tau-t >= 0" into release-4-6
Christoph Junghans [Fri, 26 Apr 2013 00:48:52 +0000 (02:48 +0200)]
Merge "v-rescale works with tau-t >= 0" into release-4-6

11 years agoMerge "Merge branch 'release-4-5-patches'" into release-4-6
Mark Abraham [Thu, 25 Apr 2013 13:33:36 +0000 (15:33 +0200)]
Merge "Merge branch 'release-4-5-patches'" into release-4-6

11 years agoMerge "Use git snapshots of the tests if are on git" into release-4-6
Mark Abraham [Mon, 22 Apr 2013 21:47:48 +0000 (23:47 +0200)]
Merge "Use git snapshots of the tests if are on git" into release-4-6

11 years agov-rescale works with tau-t >= 0
Mark Abraham [Fri, 19 Apr 2013 14:17:11 +0000 (16:17 +0200)]
v-rescale works with tau-t >= 0

Bug introduced in c7a82654

Change-Id: Iee2d1c8fc5d34811dc022ffbe097114abc10030b

11 years agoMerge branch 'release-4-5-patches'
Teemu Murtola [Fri, 19 Apr 2013 03:50:37 +0000 (06:50 +0300)]
Merge branch 'release-4-5-patches'

Tested that the selection fixes work also in release-4-6.

Conflicts:
src/gmxlib/selection/compiler.c (trivial)

Change-Id: Ib679b1babaf29457c13ca1f10fde5a612ddc3055

11 years agochanged mdrun -nsteps to gmx_large_int_t
Berk Hess [Thu, 18 Apr 2013 15:51:20 +0000 (17:51 +0200)]
changed mdrun -nsteps to gmx_large_int_t

Fixes #1224

Change-Id: Idc66a0de4b8c6463be2df92ee7b8261a90eb5014

11 years agoCUDA PME kernels with analytical Ewald correction
Szilard Pall [Tue, 12 Mar 2013 02:18:43 +0000 (03:18 +0100)]
CUDA PME kernels with analytical Ewald correction

The analytical Ewald kernels have been used in the CPU SIMD kernels, but
due to CUDA compiler issues it has been difficult to determine in which
cases does this provide a performance advantage compared to the
tabulated kernels.Although the nvcc optimizations are rather unreliable,
on Kepler (SM 3.x) the analytical Ewald kernels are up to 5% faster, but
on Fermi (SM 2.x) 7% slower than the tabulated. Hence, this commit
enables the analytical kernels as default for Kepler GPUs, but keeps the
tabulated kernels as default on Fermi.

Note that the analytical Ewald correction is not implemented in the
legacy kernels as these are anyway only used on Fermi.

Additional minor change is the back-port of some variable (re)naming and
simple optimizations from the default to the legacy CUDA kernels which
give 2-3% performance improvement and better code readability.

Change-Id: Idd4659ef3805609356fe8865dc57fd19b0b614fe

11 years agoUse git snapshots of the tests if are on git
Christoph Junghans [Tue, 5 Mar 2013 18:05:49 +0000 (11:05 -0700)]
Use git snapshots of the tests if are on git

* Snapshots are available from http://repo.or.cz/w/gromacs
  but hidden by forwards from http://gerrit.gromacs.org/snapshot
* Discussion on I7ba82b22a75532516f481dcb5e4a870047c0bfe8

Change-Id: If3d00d2de8d7286c3b5d7f4b67d468b8d628e28f

11 years agoMerge "corrected grompp rvdw charge-group radii check" into release-4-6
David van der Spoel [Tue, 16 Apr 2013 12:05:23 +0000 (14:05 +0200)]
Merge "corrected grompp rvdw charge-group radii check" into release-4-6

11 years agoMerge "added mdrun check for Verlet+perturbed atoms" into release-4-6
David van der Spoel [Sat, 13 Apr 2013 14:53:10 +0000 (16:53 +0200)]
Merge "added mdrun check for Verlet+perturbed atoms" into release-4-6

11 years agoimproved load balancing with Verlet cut-off scheme
Berk Hess [Fri, 12 Apr 2013 12:47:34 +0000 (14:47 +0200)]
improved load balancing with Verlet cut-off scheme

With the Verlet scheme the force calculation order is now like group:
non-bonded, bonded, PME
The non-bonded were done after PME, which prevented load balancing,
unless separate PME nodes were used.

Change-Id: I81588ac810ce7c022bd6809f29a19c41ba13449f

11 years agoMerge "removed x86 specifics from nbnxn SIMD kernels" into release-4-6
Mark Abraham [Fri, 12 Apr 2013 11:46:50 +0000 (13:46 +0200)]
Merge "removed x86 specifics from nbnxn SIMD kernels" into release-4-6

11 years agoMerge "corrected log file wall time breakdown" into release-4-6
Mark Abraham [Fri, 12 Apr 2013 07:55:19 +0000 (09:55 +0200)]
Merge "corrected log file wall time breakdown" into release-4-6

11 years agoMerge "made PME work with a mix of 1 and more threads" into release-4-6
Mark Abraham [Fri, 12 Apr 2013 07:54:08 +0000 (09:54 +0200)]
Merge "made PME work with a mix of 1 and more threads" into release-4-6

11 years agoFix another bug in selection subexpression handling.
Teemu Murtola [Wed, 10 Apr 2013 18:21:59 +0000 (21:21 +0300)]
Fix another bug in selection subexpression handling.

In this case, it did not work correctly if a variable with a dynamic
value was used both
1. in a boolean expression such that its evaluation group was not known
   in advance, and
2. in a context where it was always evaluated for all atoms (either as
   a selection, or as a parameter to a selection method),
and additionally the latter context appeared later in the selection set.
The initialization of the SEL_CDATA_STATICEVAL flag has a dependency on
SEL_CDATA_FULLEVAL flag, and they were not initialized in the correct
sequence in the above case.

Fixes #1219.

Backported from master with the same Change-Id.

Change-Id: Ic95d37a424c82c796806b3a5b39678e206c467a1

11 years agoFix bug in selection subexpression handling.
Teemu Murtola [Wed, 10 Apr 2013 18:17:36 +0000 (21:17 +0300)]
Fix bug in selection subexpression handling.

Did not work correctly if
1. a static expression was passed to a SPAR_ATOMVAL parameter,
2. other parameters to the same selection method were dynamic
   (so that the expression would not be completely eliminated during
   compilation), and
3. the evaluation group of the SEL_EXPRESSION element was dynamic
   (so that the SPAR_ATOMVAL expression could be evaluated for a
   different group during evaluation and compilation).
In this case, the static atom-valued parameter got evaluated during
compilation for the maximal evaluation group and replaced by a constant.
During evaluation, if the evaluation group was smaller, the values for
that expression were no longer correct.
See #1216 for what kinds of concrete selections this applies to.

Fixes #1216.

Backported from master with the same Change-Id.
Needed to also pull in part of the changes from
6e877567d9d3d08a3f6fb436f7bbfbaf35b95f8e.

Change-Id: Ic6b7f9b8df661a9c78d7862b981a07e65a7ebdbf

11 years agoMerge "Merge release-4-5-patches into release-4-6" into release-4-6
Teemu Murtola [Wed, 10 Apr 2013 17:07:57 +0000 (19:07 +0200)]
Merge "Merge release-4-5-patches into release-4-6" into release-4-6

11 years agoMerge "Added install guide section for BLAS/LAPACK" into release-4-6
Christoph Junghans [Fri, 29 Mar 2013 17:16:37 +0000 (18:16 +0100)]
Merge "Added install guide section for BLAS/LAPACK" into release-4-6

11 years agoremoved x86 specifics from nbnxn SIMD kernels
Berk Hess [Mon, 18 Feb 2013 16:57:45 +0000 (17:57 +0100)]
removed x86 specifics from nbnxn SIMD kernels

All x86 specific preprossing and SIMD intrinsics in
nbxn_kernel_simd_???_outer/inner.h have been replaced by generic SIMD
macro code. Exclusion masks are now loaded iso set and the treatment
is the same for most setups and can use only floating point intrinsics.
Moved half-width SIMD from gmx_simd_macros.h to two 2xnn .h files.
Half-width load macros now take the output as an argument,
in preparation for Intel MIC SIMD instrinsics.
Replaced _SSE suffixes by _S in the abovementioned files.

Change-Id: Ib634726af6e51a99c904e05528b0ac10ecbc2462

11 years agocorrected log file wall time breakdown
Berk Hess [Wed, 27 Mar 2013 09:19:41 +0000 (10:19 +0100)]
corrected log file wall time breakdown

The recent commit 873b9854 doubled the wall times in the breakdown
table in the log file when not using separate PME nodes.
Note that this didn't affect cycle count or total timing prints.
Fixes #1210

Change-Id: Ia2b1d5e6c21543990465b7c7a4a8a1e687c41528

11 years agoMerge release-4-5-patches into release-4-6
Roland Schulz [Tue, 26 Mar 2013 19:15:20 +0000 (15:15 -0400)]
Merge release-4-5-patches into release-4-6

Conflicts:
CMakeLists.txt
configure.ac
src/tools/gmx_mindist.c

Change-Id: I303318f17527a8e1bfe494eb174565b8d5491870

11 years agomade PME work with a mix of 1 and more threads
Berk Hess [Thu, 21 Mar 2013 09:33:07 +0000 (10:33 +0100)]
made PME work with a mix of 1 and more threads

Using a mix of 1 and more OpenMP threads on different MPI ranks
would make mdrun terminate with an MPI error.
Fixes #1171

Change-Id: Iffa16e18baf0f74be826b59503208dca01d1ec14

11 years agoMerge "Essential dynamics: fixed legend in ED .xvg output file" into release-4-6
Christoph Junghans [Tue, 19 Mar 2013 17:42:28 +0000 (18:42 +0100)]
Merge "Essential dynamics: fixed legend in ED .xvg output file" into release-4-6

11 years agocorrected grompp rvdw charge-group radii check
Berk Hess [Thu, 14 Mar 2013 11:13:09 +0000 (12:13 +0100)]
corrected grompp rvdw charge-group radii check

The grompp note for charge-group radii larger than the buffer size
for VdW interactions only checked for rlist, not rlistlong.
Fixes #1164

Change-Id: I85a615e6c004503440bcae52c220540a843107d0

11 years agoMerge "fix broken things in mkhtml" into release-4-6
Mark Abraham [Tue, 12 Mar 2013 17:36:44 +0000 (18:36 +0100)]
Merge "fix broken things in mkhtml" into release-4-6

11 years agoAdded install guide section for BLAS/LAPACK
Mark Abraham [Mon, 11 Mar 2013 13:15:21 +0000 (14:15 +0100)]
Added install guide section for BLAS/LAPACK

Fixes #1186

Change-Id: If9e95f93cd216b86143685fd0ae9bfbc5d26792e

11 years agoMerge "Fixes linkage with FFTW + MKL for BLAS/LAPACK" into release-4-6
Mark Abraham [Mon, 11 Mar 2013 11:10:49 +0000 (12:10 +0100)]
Merge "Fixes linkage with FFTW + MKL for BLAS/LAPACK" into release-4-6

11 years agoEssential dynamics: fixed legend in ED .xvg output file
Carsten Kutzner [Fri, 8 Mar 2013 16:07:26 +0000 (17:07 +0100)]
Essential dynamics: fixed legend in ED .xvg output file

If one performs flooding only and none of the standard essential dynamics
protocols are turned on, the .xvg output file did still print ED legends.
I moved the bNeedDoEdsam check from init_edi() to write_edo_legend(), so
that already here we can check whether ED or only flooding is performed.

Change-Id: Ic3a784b63b335059c17aed852d1b4a4f3126841a

11 years agoFixes #1183 PBC bug in g_mindist
David van der Spoel [Thu, 7 Mar 2013 18:26:23 +0000 (19:26 +0100)]
Fixes #1183 PBC bug in g_mindist

Fixes minimum size of the box if triclinic when checking
the periodic image distance.

Change-Id: I54cb593c42f791b6540147233c345069f84e2f33

11 years agoMerge "fixed PME time print with -ntomp_pme != -ntomp" into release-4-6
Roland Schulz [Wed, 6 Mar 2013 04:57:14 +0000 (05:57 +0100)]
Merge "fixed PME time print with -ntomp_pme != -ntomp" into release-4-6

11 years agoNew patch release 4.6.1
Mark Abraham [Fri, 15 Feb 2013 23:05:48 +0000 (00:05 +0100)]
New patch release 4.6.1

Change-Id: I60998e3be8c0c7289d0aa5279e554cc79fb74310

11 years agoFix automated regression testing GMXLIB value
Mark Abraham [Tue, 5 Mar 2013 15:56:34 +0000 (16:56 +0100)]
Fix automated regression testing GMXLIB value

Change-Id: I3030a85df4d649106f4620b48374ee41a9bdebc9

11 years agofixed bug with DD cut-off check and PME DLB
Berk Hess [Thu, 28 Feb 2013 17:10:34 +0000 (18:10 +0100)]
fixed bug with DD cut-off check and PME DLB

During the initial stage of PME DLB, the cut-off limit check for the
DD DLB was not checked correcty. This reduced the effectiveness of
both DD and PME DLB and could lead to missing interactions during
a very limited number of steps.
Fixes #1169

Change-Id: I0b0cac22d4abbe8a9b0c16488aeb662d7d4d9bcc

11 years agoFix regressiontests automated download
Mark Abraham [Wed, 27 Feb 2013 15:29:42 +0000 (16:29 +0100)]
Fix regressiontests automated download

Refs #1150

Change-Id: I7ba82b22a75532516f481dcb5e4a870047c0bfe8

11 years agofixed recent bug with sorting atoms for GPUs
Berk Hess [Wed, 20 Feb 2013 09:41:38 +0000 (10:41 +0100)]
fixed recent bug with sorting atoms for GPUs

The sort buffer in the nbnxn gridding for GPUs was made too small
in 8d6cc146. This led to inconsistency errors (not incorrect output).
This is fixed and the sort_atoms call is now made simpler and
multiple consistency checks are now always on in debug builds.
Fixes #1153

Change-Id: Ifcdf45bb4de88e7584628d3ed2699e2fd469d5c6

11 years agoUpdate shell completions
Mark Abraham [Wed, 20 Feb 2013 10:04:48 +0000 (11:04 +0100)]
Update shell completions

There's some strange changes of what completions are being generated
for inputs that take multiple files when generated by different 4.6.x
versions, but nobody seems to know what is going on. Also, those
problems do not have a large impact.

Refs #1159

Change-Id: Ib4b1ad4999e1b68904d46b0d01c2a5dd07507fd7

11 years agoUpdate outdated admin things
Mark Abraham [Fri, 15 Feb 2013 22:54:38 +0000 (23:54 +0100)]
Update outdated admin things

* remove outdated CMake installation guide
* updated the bootstrap script
* remove outdated admin/README.patches
* update README, including adding reference to
  GROMACS 4.5 paper and DOIs for old papers

Change-Id: I9a55126049806ca67f6ad846cdbd67cc530c7db0

11 years agoFixes linkage with FFTW + MKL for BLAS/LAPACK
Roland Schulz [Tue, 5 Mar 2013 09:15:01 +0000 (04:15 -0500)]
Fixes linkage with FFTW + MKL for BLAS/LAPACK

The order of linking was incorrect, when using both mkl and fftw
causing the mkl fftw wrapper to be used instead of fftw itself.

Removes all unnecessary transitive libraries (cmake adds those
automatically). Simplifies the target_link_libraries lines, and
makes it much easier to change the fft/blas link order.

Only remaining transitive libraries are gmx/md for binaries. This
is required because OpenMP_LINKER_FLAGS needs to be at the end
but transitive libraries are added at the end. Thus without listing
gmx/md manually the order is incorrect.

Also fixes that nbnxn_cuda has cuda_tools listed as library
dependency. Was prior working without it but now is needed and is
also anyhow the more corect way to do it.

Fixes #1067

Change-Id: I639b16f1460d27a15eb72cc00674c041266f6624

11 years agoFixes for install guide page.
Justin Lemkul [Fri, 8 Feb 2013 20:40:53 +0000 (15:40 -0500)]
Fixes for install guide page.

Editorial fixes to rename GMX_LIBS_SUFFIX and provide an example
of proper usage of adding suffixes.  These edits now keep the .tex
file in sync with the edits manually made to the wiki page.

Change-Id: Iba5b4c66ad3d0d84ddb06591d4681ff48e4de2ee

11 years agoUpdated install guide
Mark Abraham [Wed, 20 Feb 2013 11:35:46 +0000 (12:35 +0100)]
Updated install guide

* bumped some versions for 4.6.1
* reviewed various promises about 4.6.1

Change-Id: I6d8549e1f47c53367db275c3091b02556af3b8d8

11 years agoWarn if X11 was not found and the user wanted it
Mark Abraham [Tue, 5 Mar 2013 14:02:23 +0000 (15:02 +0100)]
Warn if X11 was not found and the user wanted it

Also, removed unused HAVE_X11 variable.

Change-Id: I581b2036f9de27a02c034230f2d1212b9814ffbb

11 years agofix broken things in mkhtml
Mark Abraham [Tue, 5 Mar 2013 13:45:56 +0000 (14:45 +0100)]
fix broken things in mkhtml

Change-Id: Ifb9aa694eddd4bffe457674265a2b17093182c50

11 years agoMerge "Uncrustified code changes since 4.6" into release-4-6
Christoph Junghans [Sat, 2 Mar 2013 23:01:24 +0000 (00:01 +0100)]
Merge "Uncrustified code changes since 4.6" into release-4-6

11 years agoDeclaration-definition consistency nbxn_cuda_wait_gpu.
Peter Kasson [Thu, 28 Feb 2013 01:32:07 +0000 (17:32 -0800)]
Declaration-definition consistency nbxn_cuda_wait_gpu.

Changed float->real in nbnxn_cuda_wait_gpu() for consistency between
function declaration and function definition.  Added note that this is
only implemented for single-precision at the moment.  CMake will
complain if GMX_GPU and GMX_DOUBLE are both set.
Addresses Bug #1157.

Change-Id: Ide495cbaba6d120d91f106c6a87ca04e46a2f5a8

11 years agofixed PME time print with -ntomp_pme != -ntomp
Berk Hess [Tue, 26 Feb 2013 19:29:54 +0000 (20:29 +0100)]
fixed PME time print with -ntomp_pme != -ntomp

Fixes #1158

Change-Id: I9028e6309b8802125e91935e87d96b341ec30f77

11 years agoUncrustified code changes since 4.6
Mark Abraham [Fri, 15 Feb 2013 23:15:20 +0000 (00:15 +0100)]
Uncrustified code changes since 4.6

The group kernel python scripts have changed slightly to emit
code that uncrustify won't want to change. Group kernel
generation and uncrustify are now mutual null operations.

Recent changes to the declarations in gmx_order in baa65b60
may have exposed a possible bug in uncrustify. Those declarations
have been simplified so that there will be no future issue from
that possible bug.

Refs #845

Change-Id: I33495d57ca37317cef4bf12707fd77d67309d292

11 years agofix imcompatibility with tpr vers<64 with free energy option
Michael Shirts [Mon, 25 Feb 2013 04:03:05 +0000 (23:03 -0500)]
fix imcompatibility with tpr vers<64 with free energy option

should fix to redmine #1156

Change-Id: I6e60f1efbb03bf460009b8bc59f80f2e0e15bf44

11 years agoadded mdrun check for Verlet+perturbed atoms
Berk Hess [Wed, 20 Feb 2013 15:26:12 +0000 (16:26 +0100)]
added mdrun check for Verlet+perturbed atoms

Currently the Verlet scheme does not support perturbed atoms.
This will be implemented soon.

Change-Id: Id8656aa680b6581882f5371514cdbd85f429c418

11 years agoBump shared object version to 8
Christoph Junghans [Fri, 15 Feb 2013 17:29:46 +0000 (10:29 -0700)]
Bump shared object version to 8

libs are not compatible with the ones from Gromacs 4.5.x, which had so
version 6 through 4.5.6, and now so version 7 for 4.5.7.

Fixes #1147

Change-Id: If96fd044b00a99eb4ba8376ffa0a2ecbea37894a

11 years agofixed issues with FEP soft-core and cut-off's
Berk Hess [Fri, 8 Feb 2013 12:43:57 +0000 (13:43 +0100)]
fixed issues with FEP soft-core and cut-off's

Now the cut-off is applied to the PME mesh correction for perturbed
pairs with soft-core. Now the cut-off is applied to VdW with soft-core.
Fixes possible NaN in free energy kernel with r close to 0.
Replaced a confusing grompp warning with PME and soft-core by a note.
Removed an invalid grompp warning about soft-core and twin-range.
Fixes #1146

Change-Id: I79a06b20158df2bce575808b6e31e660163bd307

11 years agoMerge release-4-5-patches into release-4-6
Mark Abraham [Tue, 19 Feb 2013 13:01:57 +0000 (14:01 +0100)]
Merge release-4-5-patches into release-4-6

Avoided the 4.5.6 release patch by using
git merge -s ours 10b109beb3ffa95e37386d38140d2c0fd7769f20
git merge release-4-5-patches
tree=$(git log -1 HEAD --pretty=%T)
git reset --hard $(git cat-file commit HEAD | sed '1,/^$/d' | \
    git commit-tree $tree -p 2b05689 -p 8d6cc14)
Conflict resolution was straightforward, except that the vsite
code was somewhat reorganized in the meantime.

Conflicts:
        Makefile.am
        src/contrib/Makefile.am
        src/contrib/addquote.c
        src/gmxlib/copyrite.c
        src/mdlib/vsite.c

Change-Id: Ib90ac4e55fac308c433b15c344caf5ee41f0146c

11 years agofixed GPU particle gridding performance issue
Berk Hess [Thu, 14 Feb 2013 21:27:17 +0000 (22:27 +0100)]
fixed GPU particle gridding performance issue

The scaling factor for the grid binning for the GPU pair search
was set incorrectly, which made the binning 50% slower.

Change-Id: I146592c37094a3d81a7ae50b3903fcc615e748d5

11 years agoMade g_tune_pme work with 4.6 if user sets "-p" command line option
Carsten Kutzner [Fri, 15 Feb 2013 10:51:09 +0000 (11:51 +0100)]
Made g_tune_pme work with 4.6 if user sets "-p" command line option

Added "-p" (performance statistics log file) to the list of files that
must not appear on the mdrun command line at launch time. (This would lead
mdrun to refuse to launch due to an unknown command line option.)

Change-Id: I268bbf6513709866b9a6a8d81c97706ccc832988