Fix total time measurement with separate PME nodes

The runtime counter needs to be passed to the PME code so that
PME-only nodes can have their time included in the statistics.

Fixes #1325

Change-Id: I13effaa185b1290e41bdd642c607ff75ab8db929
Described another way g_tune_pme might reasonably fail

Change-Id: Ibb75f40a17b81934ae768a57d5e4fb11d07cdc2d
fixed multiple distance restraints with OpenMP

Distance restraints with multiple pairs (the same label) are no
longer split over multiple OpenMP threads. Some (beneficial)
reorganization of the bonded thread division was required to do this,
most importantly: removed calc_one_bond_foreign.
Fixes #1316

Change-Id: I88d8eafede5cbc26c19026a9272639e652f7abd7
optimized generic SIMD invsqrt

The function gmx_invsqrt_pr now uses one instruction less when
FMA is not supported in hardware.
Fixes #1333

Change-Id: Idace7296b88a8ecc0331e22d5bb3088753c478de
Fix bug in (long) neighborlist SIMD padding when adding to previous list

Gromacs-4.6 introduced SIMD padding in the neighborlists, which works
fine for normal simulations. However, when the neighborlist gets long
and we end up adding a second batch of particles we need to remove the
previous padding, which was not done until now. This will typically only
occur when the list per node is large, e.g. when using long cutoffs
(>2nm) with only a single core. Normal simulations should not have been
affected by it (which is also why we did not find it until now).

Fixes #1341.

Change-Id: Ie64ab6c0313a8dc0d3545a5e7d610f24adae4438
Merge branch release-4-6

Conflicts:
	src/gromacs/gmxlib/bondfree.c
	src/gromacs/legacyheaders/bondf.h
	src/gromacs/legacyheaders/pme.h
	src/gromacs/mdlib/pme.c
	src/programs/mdrun/runner.c

Conflicts all resolved in favour of release-4-6 branch,
except where the master-branch removal of unused parameters
was correct.

Change-Id: Ib32a52b97b5443b86b4f0e4d575767990dc6c47e
Merge "Merge branch release-4-6"
Un-duplicate gmx_gettime code

Change-Id: I564e6445b27e152feec0da8e98f8d990b8734875
Drop md5sum check for GMX_BUILD_OWN_FFTW

The old version gave a confusing error message about a wrong md5sum if
the download failed.

The new version no longer checks an md5sum at all, which avoids the
need to test a CMake version. It also gives an explicit warning and
instructions on how to proceed safely.

CMake bug reported at http://www.cmake.org/Bug/view.php?id=14330
Noted TODO to revisit if that bug gets fixed.

Noted TODO in master branch to show this warning only the first time a
suitable cached variable is set.

Change-Id: I403896505b178251087d71f95362c3754cd4a2de
logic fix for free energies with mdrun -rerun

It was taking the wrong logical path when it checks whether
delta_lambda = 0 when doing mdrun -rerun

fixes #1330

Change-Id: I3dadbb546b4376fae72c1b00c0684450bf77396f
Fixed limitations in g_cluster

Old version produced wrong output for large trajectories with more
than 46340 frames. The reason was that the number of RMSD matrix
entries which is the square number of frames was stored as int which
caused a MAX_INT overflow. By changing it to gmx_large_int_t, g_cluster
is now able to handle trajectories with up to 3e9 frames.

Also freed leaking temporary buffers.

Change-Id: I8acfb0cedae9ddde207f39cb627ad2ea9fbbb9e6
Use git version info in Doxygen.

The Doxygen documentation now gets labeled with the exact source
version, using the same logic as in the git version info generation.

Added an option to not search for the remote hash in
gmxGenerateVersionInfo.cmake, since this is by far the most expensive
operation, and it is not really necessary for the Doxygen part.

Also some minor cleanup of the CMake script.

Change-Id: I36dd0b7a811d5e48c818bf36a669320cedec6e9e
Corrected info text. -center --> -boxcenter

Change-Id: I99901047fcde55f9714c81d3182a3778f290ebac
Fixes bug in processing virtual_sitesn in grompp.

Fixes #1343

Change-Id: Ia1d39199a12292ef86d086a6c1bb5f1a0bdb5d35
Remove obsolete efHAT and src/ngmx/dlgtest.

Change-Id: Ica584c307b72c49dc8fdfae3f23e9a3e705f2736
allow compilation to optimize for CUDA compute cap. 3.5

Enabling optimizations targeting compute capability 3.5 devices
(GK110) slightly improves performance of both PME and RF kernels.
This requires a hint for the compiler optimization indicating
the maximum number of threads/block and minimum number of
blocks/multiprocessor. This change allows nvcc >=5.0 to generate
code for CC 3.5 devices and switches to including PTX 3.5 code
(instead of 3.0) in the binary.

Change-Id: If7e14d31165bc05859250db7468bf6bd8c186264
Change name of gmxdump to dump and gmxcheck to check

In order not to have to type
gmx gmxdump
gmx gmcheck
the second gmx was removed from the command name.
Added check in cmdlinemodulemanager.cpp for binaries starting with gmx.
Change-Id: I7db4faf8ae57688388b1e5263a7117c2bdb570c8
Silence clang warnings

Pre-release clang 3.4 warns that the types of lout[23] variables
is not the real * expected with GMX_MPI_REAL.

Change-Id: Id3ca4567f5eb642ead0cb4ce8d48dafbb92c303a
Split MPI initialization from t_commrec construction

Change-Id: I24d5488f0f21eb0528d32f08e1d4a22bf45e95ec
Broke some useless dependencies

g_disre does not need t_commrec or t_forcerec

Change-Id: I626487b777f4c18152741a74bd18053eda11c6b2