alexxy/gromacs.git
11 years agoMade g_tune_pme work correctly again with thread-MPI mdrun
Carsten Kutzner [Mon, 14 Jan 2013 16:12:45 +0000 (17:12 +0100)]
Made g_tune_pme work correctly again with thread-MPI mdrun

Up to now, g_tune_pme would put the -nt switch on the mdrun command
line to ask for thread-MPI processes. Due to changes in mdrun, this
now leads to the fact that all runs with separate PME nodes exit
because the number of MPI threads must be explicitly specified with
the -ntmpi switch. Now the g_tune_pme -nt option is renamed to -ntmpi.
The remaining changes are only minor code cleanup / formatting things
plus getting rid of unused variables.

Change-Id: I7518799ef593d78d1cce1496852f0241e6d01755

11 years agoDon't cache ${FFTW}_HAVE_(SIMD|AVX)
Roland Schulz [Mon, 14 Jan 2013 06:38:05 +0000 (01:38 -0500)]
Don't cache ${FFTW}_HAVE_(SIMD|AVX)

The error message was incorrect if the library was changed. E.g.
if the library wasn't found on the first try and then (e.g. with
CMAKE_PREFIX_PATH) was found on the 2nd try. Could have been
resolved by using FORCE when setting variables, but that would
have defeated the purpose of allowing the user to overwrite
the value for future versions which might be misidentified.
Any solution which lets the user to overwrite but still works
correctly if the library changes would be difficult. Given that
it is only for displaying a warning message, it is not worth
making it much more complicated.

Change-Id: I0b6c5a204ee0114ef9de9337491a14457917f9d7

11 years agoFixed GB interactions for release-4-6
Erik Lindahl [Sun, 13 Jan 2013 19:21:05 +0000 (11:21 -0800)]
Fixed GB interactions for release-4-6

Release-4-6 was not using the correct GB kernels,
but the non-GB electrostatics cutoff kernel. In addition,
the accelerated kernels unrolled more than a factor 2 had
a bug that caused a small error in the forces. Both these
issues have been fixed, and the GB results now match
release-4.5.
Note: The GB _radius_ calculations are still only done
in C, but the accelerated options will be re-enabled in
a pending patch (separated for clarity).
Fixes #1096.

Change-Id: I40151b9a9f1920006bfe9a39a8719698a824bfac

fix

Change-Id: I45630252d6a9c05a7f3695a7e6d07dcd13e0a25c

11 years agosplit off pick_nbnxn_resource from nbnxn_pick_nbnxn
Berk Hess [Thu, 10 Jan 2013 17:59:27 +0000 (18:59 +0100)]
split off pick_nbnxn_resource from nbnxn_pick_nbnxn

Fixes #1049

Change-Id: Iadf46f40676551b9b58d0d3da5bdca0f94d4a3fb

11 years agoQuiet stderr output, particularly for multi-simulations
Mark Abraham [Fri, 11 Jan 2013 17:06:33 +0000 (18:06 +0100)]
Quiet stderr output, particularly for multi-simulations

* removed printing of DD info to stderr
* printed multi-simulation information only once in places where
  repetition is clearly redundant (Some repetition remains,
  but only from each simulation master.)
* add option to not print result of multi-simulation check
  if it passed, so that we don't have to print things to
  stderr/stdout just because the .log file is not yet open
* printing of diagnostics about the number of MPI
  processes present when mdrun starts only goes (once) to
  each debug file, and not to stderr
* reduced printing of diagnostics about the number of OpenMP
  threads; now goes to stderr only on SIMMASTER, or
  once to each debug file
* clarified errors and informational messages about selecting
  the number of OpenMP threads

Fixes #1078, refs #1083

Change-Id: If782259bcd62ddd9be325393930080b70c5cfb4e

11 years agofixes issues with pressure control and infrequent evaluation
Michael Shirts [Sun, 13 Jan 2013 17:20:57 +0000 (12:20 -0500)]
fixes issues with pressure control and infrequent evaluation

Fixes a bug when pressure control in md-vv when nstcalcenergy is not a
multiple of nstpcouple or nsttcouple. This bug results in boxes slowly
expanding to unphysical sizes because the virial is
neglected in the second half of the md-vv calculation.

Also discovered that as part of the bug, global energies were being communicated
where they did not need to be when nstpcouple and nsttcouple are > 1 in the case
of md-vv, so redid some of the iteration counting and global communication to fix
this all together. In the process, this simplified some of the interation counting.

Change-Id: I3f77ba361fc88e03ccdfdde1b0be388ea46a8683

11 years agoRemove debug statment
Christoph Junghans [Tue, 15 Jan 2013 22:33:18 +0000 (15:33 -0700)]
Remove debug statment

* left from I1c2a27f6fc1162cf8999c65ff6173121109cfbad

Change-Id: If520406444a810bf2810f68cf97a4a1bbf8141de

11 years agoFix missing replacement/typo
Roland Schulz [Tue, 15 Jan 2013 20:53:25 +0000 (15:53 -0500)]
Fix missing replacement/typo

Change-Id: Ia2b1c7a2aa222134c5d6847539d0f4287a3510a3

11 years agoMerge "Hid nbnxn kernel names behind a lookup function" into release-4-6
Mark Abraham [Tue, 15 Jan 2013 18:53:29 +0000 (19:53 +0100)]
Merge "Hid nbnxn kernel names behind a lookup function" into release-4-6

11 years agoMerge "disable OpenMP with all OS X gcc 4.2-based compilers" into release-4-6
Christoph Junghans [Tue, 15 Jan 2013 17:35:19 +0000 (18:35 +0100)]
Merge "disable OpenMP with all OS X gcc 4.2-based compilers" into release-4-6

11 years agoMerge "Continuation of documentation for expanded ensemble." into release-4-6
Sander Pronk [Tue, 15 Jan 2013 17:16:51 +0000 (18:16 +0100)]
Merge "Continuation of documentation for expanded ensemble." into release-4-6

11 years agoContinuation of documentation for expanded ensemble.
Michael Shirts [Mon, 14 Jan 2013 02:19:18 +0000 (21:19 -0500)]
Continuation of documentation for expanded ensemble.

With a few other corrections here and there.

Change-Id: Ic7ebefc8e959a50f2bba917fe90cbef4b44ab2fd

11 years agodisable OpenMP with all OS X gcc 4.2-based compilers
Szilárd Páll [Tue, 15 Jan 2013 01:27:10 +0000 (17:27 -0800)]
disable OpenMP with all OS X gcc 4.2-based compilers

Although gcc 4.2 should have OpenMP support, the gcc 4.2.1-based
compilers on Mac OS X (defaults in 10.6.x) all claim to support OpenMP,
but generates segfaulting code.

This change reworks the llvm-specific check and moves it out from the
C/CXX flag generation module.

This compiler is the default on many BSD os-es, but as no other gcc
4.2.x has been tested yet (to my knowledge), for now the limitation is
introduced only for the Mac OS X and gcc 4.2.x.

Refs #900

Change-Id: I1c2a27f6fc1162cf8999c65ff6173121109cfbad

11 years agoHid nbnxn kernel names behind a lookup function
Mark Abraham [Mon, 14 Jan 2013 22:04:20 +0000 (23:04 +0100)]
Hid nbnxn kernel names behind a lookup function

Keeps clang syntax checking in master branch quiet - otherwise
it complains about unused variables. See discussion in
Change-Id: I753f701d74b8d4533e74cede19712b030bf97ca6

Change-Id: Id73ef041d7d3c9443be4992dc18f28ac09f499e9

11 years agoEssential dynamics output file now in .xvg format
Carsten Kutzner [Fri, 11 Jan 2013 16:58:48 +0000 (17:58 +0100)]
Essential dynamics output file now in .xvg format

No need to run a parser script on sam.edo anymore!

Change-Id: I37fcc7018482f31a25f5b6ba1bde7f22ccf0c31f

11 years agoMerge "Fixes for md-vv and rerun" into release-4-6
Roland Schulz [Sun, 13 Jan 2013 23:42:52 +0000 (00:42 +0100)]
Merge "Fixes for md-vv and rerun" into release-4-6

11 years agoMerge "fixed resetting states with parallel Verlet scheme" into release-4-6
Roland Schulz [Sun, 13 Jan 2013 23:42:36 +0000 (00:42 +0100)]
Merge "fixed resetting states with parallel Verlet scheme" into release-4-6

11 years agoProper fix for copyrite cuda dependence
Roland Schulz [Wed, 28 Nov 2012 00:23:28 +0000 (19:23 -0500)]
Proper fix for copyrite cuda dependence

Change-Id: I3d3329dcdfde86b954854aff7c83b518b8c49c2d

11 years agoFixes for md-vv and rerun
Michael Shirts [Tue, 1 Jan 2013 04:19:27 +0000 (23:19 -0500)]
Fixes for md-vv and rerun

Implements several fixes for md-vv and mdrun -rerun.

* Dispersion is correctly added.
* COM motion is removed only on the second half of the timestep.
* Now can do md-vv rerun with multiple threads.
* Now gives exact kinetic energy reruns for everything except MTTK, where the iterative algorithm
makes exact kinetic energy impossible when nstpcouple == 1.
* Eliminated an extranaous variable in anderdsen temperature control since I had to move that code anyway.

Change-Id: I1c2a5a9c3da549baa0ef25601bc623a3e39bff84

11 years agofixed resetting states with parallel Verlet scheme
Berk Hess [Fri, 11 Jan 2013 16:55:23 +0000 (17:55 +0100)]
fixed resetting states with parallel Verlet scheme

The simulation state might need to be reset with e.g. REMD
or energy minimization. With the Verlet scheme in parallel
the contents of one outdated array was used, leading to gmx_fatal.
Fixes #1024

Change-Id: I24d07ea7dfd41e9689dd083cafbf778a7c8033fd

11 years agoMerge "Remove unused bfunc.h." into release-4-6
Christoph Junghans [Sun, 13 Jan 2013 21:52:27 +0000 (22:52 +0100)]
Merge "Remove unused bfunc.h." into release-4-6

11 years agoMerge "Clarified some comments & warnings about thread pinning" into release-4-6
Christoph Junghans [Sun, 13 Jan 2013 18:37:12 +0000 (19:37 +0100)]
Merge "Clarified some comments & warnings about thread pinning" into release-4-6

11 years agoMerge "Manage BlueGene/Q configuration" into release-4-6
Christoph Junghans [Sun, 13 Jan 2013 18:33:30 +0000 (19:33 +0100)]
Merge "Manage BlueGene/Q configuration" into release-4-6

11 years agoMerge "Re-organize BlueGene toolchain files" into release-4-6
Christoph Junghans [Sun, 13 Jan 2013 18:32:33 +0000 (19:32 +0100)]
Merge "Re-organize BlueGene toolchain files" into release-4-6

11 years agoMerge "Changed defaults for building shared libraries" into release-4-6
Christoph Junghans [Sun, 13 Jan 2013 18:32:24 +0000 (19:32 +0100)]
Merge "Changed defaults for building shared libraries" into release-4-6

11 years agoClarified some comments & warnings about thread pinning
Mark Abraham [Fri, 11 Jan 2013 18:13:44 +0000 (19:13 +0100)]
Clarified some comments & warnings about thread pinning

Change-Id: I0c0382e2d6a93b5ea5531d07e9002e20ed16ef5d

11 years agoMerge "prepared the nbnxn code for non-x86 SIMD" into release-4-6
Roland Schulz [Sun, 13 Jan 2013 16:48:27 +0000 (17:48 +0100)]
Merge "prepared the nbnxn code for non-x86 SIMD" into release-4-6

11 years agoManage BlueGene/Q configuration
Mark Abraham [Tue, 18 Dec 2012 23:37:16 +0000 (00:37 +0100)]
Manage BlueGene/Q configuration

* add toolchain
* set up to use IBM QPX accelerated kernels
* check the compiler will compile the kernels

Refs #1064

Change-Id: I97ad3c3c96c4c3b0c59318c181f66972ebd9a903

11 years agoRe-organize BlueGene toolchain files
Mark Abraham [Tue, 18 Dec 2012 23:19:38 +0000 (00:19 +0100)]
Re-organize BlueGene toolchain files

Rename /L and /P toolchain files. Add /Q files from
http://www.cmake.org/Bug/view.php?id=13512

Refs #1064

Change-Id: I7492737be936e59dce6217c41986316b88ec1e06

11 years agoChanged defaults for building shared libraries
Mark Abraham [Wed, 9 Jan 2013 15:29:50 +0000 (16:29 +0100)]
Changed defaults for building shared libraries

Some platforms have reasons for preferring shared or static
libraries and we should nudge the user in the right direction
if we can.

Also, the logic for detecting external shared vs static libraries
was conflated with the settings for building shared libraries. This
needed to be separated so there was a place where specific
toolchains could manage options settings correctly for their
contexts.

Change-Id: I76ed873f2ff5d8aba11c454dea497e5f329111af

11 years agoMerge "Added basic CPU topology information to cpuid code" into release-4-6
Mark Abraham [Sun, 13 Jan 2013 15:06:11 +0000 (16:06 +0100)]
Merge "Added basic CPU topology information to cpuid code" into release-4-6

11 years agoRemove unused bfunc.h.
Teemu Murtola [Sun, 13 Jan 2013 11:55:01 +0000 (13:55 +0200)]
Remove unused bfunc.h.

In addition to being unused, it also contains a non-terminated comment.

Related to #845 (uncrustify doesn't like the comment).

Change-Id: I662d2ecde5e58b6babc211010d4364b27e58c564

11 years agoprepared the nbnxn code for non-x86 SIMD
Berk Hess [Tue, 8 Jan 2013 10:46:40 +0000 (11:46 +0100)]
prepared the nbnxn code for non-x86 SIMD

Put #ifdef GMX_X86_SSE around all x86 specific code.
Memory alignment is determined instead of hard coded.
The diagonal exclusion masks are now calculated in a generic fashion.
Also made the GPU setup constants fully macro driven.
Added documentation for most of the nbnxn macro setup.

Change-Id: Ib59fe5cec3cf2402f4701e58de59f5707cb797b3

11 years agoMerge "Added missing export" into release-4-6
Christoph Junghans [Sat, 12 Jan 2013 02:36:13 +0000 (03:36 +0100)]
Merge "Added missing export" into release-4-6

11 years agoMerge "made SHAKE work again with particle decompostion" into release-4-6
Erik Lindahl [Fri, 11 Jan 2013 23:22:07 +0000 (00:22 +0100)]
Merge "made SHAKE work again with particle decompostion" into release-4-6

11 years agoMerge "time the GPU force clearing async launch overhead" into release-4-6
Roland Schulz [Fri, 11 Jan 2013 20:45:59 +0000 (21:45 +0100)]
Merge "time the GPU force clearing async launch overhead" into release-4-6

11 years agoMerge "console and log output improvements" into release-4-6
Christoph Junghans [Fri, 11 Jan 2013 20:36:47 +0000 (21:36 +0100)]
Merge "console and log output improvements" into release-4-6

11 years agoMerge "Fix CUDA being quiet and mark all CUDA_* as advanced" into release-4-6
Christoph Junghans [Fri, 11 Jan 2013 20:35:09 +0000 (21:35 +0100)]
Merge "Fix CUDA being quiet and mark all CUDA_* as advanced" into release-4-6

11 years agoAdded basic CPU topology information to cpuid code
Erik Lindahl [Wed, 9 Jan 2013 00:37:43 +0000 (01:37 +0100)]
Added basic CPU topology information to cpuid code

We can now detect the locality of hardware threads, cores,
and packages for Intel and AMD CPUs under Linux and Windows.
In particular, this provides an array with locality order
for logical processors that can be used to optimize placement.
Refs #1086, #1101.

Change-Id: I3f7985b1b67729376918c5a135b9157a9086235e

11 years agoMerge release-4-5-patches into release-4-6
Roland Schulz [Fri, 11 Jan 2013 15:45:13 +0000 (10:45 -0500)]
Merge release-4-5-patches into release-4-6

Conflicts:
src/kernel/readir.c (trivial)

Change-Id: I6def10cca9a25c0587694ea77a5a6f7a43ca308d

11 years agomade SHAKE work again with particle decompostion
Berk Hess [Fri, 11 Jan 2013 14:58:54 +0000 (15:58 +0100)]
made SHAKE work again with particle decompostion

Making a graph not starting at atom zero was not allowed,
as this did not properly with shifting atoms (and was never
called that way for shifting), but SHAKE with PD requires this.
Now also shifting not starting at 0 works correctly.

Change-Id: Icfbf51db36f2dfd7c76ea7e4e2a4bb4b0b895e47

11 years agoMerge "fixed nbnxn no LJ comb.rule AVX256 PME kernel" into release-4-6
Erik Lindahl [Fri, 11 Jan 2013 11:39:56 +0000 (12:39 +0100)]
Merge "fixed nbnxn no LJ comb.rule AVX256 PME kernel" into release-4-6

11 years agotime the GPU force clearing async launch overhead
Szilard Pall [Fri, 11 Jan 2013 07:05:04 +0000 (08:05 +0100)]
time the GPU force clearing async launch overhead

Unfortunately, the asynchronous launch of GPU force buffer clearing can
take up to 2% of the total run-time with short iteration times and
many/fast cores/GPU. Timing it will at least remove it form the "Rest".

Change-Id: I397c563ead24d87181de1b03879f164d1a97c2ca

11 years agoconsole and log output improvements
Szilard Pall [Fri, 11 Jan 2013 06:47:19 +0000 (07:47 +0100)]
console and log output improvements

Improved the console and log output layout and messages.

Change-Id: I0f81cbe9f74ada5a40b2da0c8b2d7dd405bfa7e5

11 years agoAdded missing export
Roland Schulz [Fri, 11 Jan 2013 05:11:31 +0000 (00:11 -0500)]
Added missing export

Backport of g_sans didn't add required export (874447d818c0c32ad6b)

Change-Id: I697dfc18ed363f86333a4d16ffd9009577c6e8cb

11 years agoFixes #994 confusion in atomprop.
David van der Spoel [Thu, 27 Dec 2012 12:31:52 +0000 (13:31 +0100)]
Fixes #994 confusion in atomprop.

The atomprop code modified the contents of the atom
database files by turning everything into uppercase.
This caused confusion between elements and protein
or nucleic acid atom names.

Change-Id: Ia0ac4636471b7051bf38a714ed16e299bf3d64ab

11 years agoMerge "Handle compiler flags more flexibly" into release-4-6
Roland Schulz [Fri, 11 Jan 2013 02:00:05 +0000 (03:00 +0100)]
Merge "Handle compiler flags more flexibly" into release-4-6

11 years agoMerge "Remove incorrect assert added by 05f9a740" into release-4-6
Christoph Junghans [Fri, 11 Jan 2013 00:05:06 +0000 (01:05 +0100)]
Merge "Remove incorrect assert added by 05f9a740" into release-4-6

11 years agofixed nbnxn no LJ comb.rule AVX256 PME kernel
Berk Hess [Wed, 2 Jan 2013 16:46:08 +0000 (17:46 +0100)]
fixed nbnxn no LJ comb.rule AVX256 PME kernel

The nbnxn 2x(N+N) kernels did incorrect LJ parameter lookups
for systems which do not follow LJ combination rules.
The kernels are only used with AVX256 with Ewald type electrostatics.

Change-Id: I6ccc133e7f21a43c25cf61d7ede43da7889e66de

11 years agoFixed flop-accounting for periodic improper dihedrals
Erik Lindahl [Mon, 7 Jan 2013 00:19:15 +0000 (01:19 +0100)]
Fixed flop-accounting for periodic improper dihedrals

Flops were incorrectly assigned as proper dihedrals.
Fixes #632.

Change-Id: Ifda09b9a0e6575c5f6f19f3c55979804fe1dc2eb

11 years agoMerge "Revert default rlist/rvdw/rcoulomb to valid values of 1.0" into release-4-6
Mark Abraham [Thu, 10 Jan 2013 22:04:17 +0000 (23:04 +0100)]
Merge "Revert default rlist/rvdw/rcoulomb to valid values of 1.0" into release-4-6

11 years agoMerge "fixed bug with Verlet + DD + bonded atom communication" into release-4-6
Mark Abraham [Thu, 10 Jan 2013 22:00:48 +0000 (23:00 +0100)]
Merge "fixed bug with Verlet + DD + bonded atom communication" into release-4-6

11 years agoRemove incorrect assert added by 05f9a740
Roland Schulz [Thu, 10 Jan 2013 21:28:51 +0000 (16:28 -0500)]
Remove incorrect assert added by 05f9a740

Change-Id: I39c3ba9135e44112fe54523e4cbf8125410b238c

11 years agoHandle compiler flags more flexibly
Roland Schulz [Thu, 10 Jan 2013 16:23:31 +0000 (11:23 -0500)]
Handle compiler flags more flexibly

Flags aren't cached anymore. This prevents all problems with
caching dependent variables. It is the approached taken by other
projectes (VTK,libssh,...). The cached CMAKE_C*_FLAGS* only contain
the user provided flags. The user can add flags by setting the
variables directly or by setting environment variables.
All flags added by Gromacs are only added to the uncached version
with the same name. For the user to overwrite flags the new option
GMX_SKIP_DEFAULT_CFLAGS is added. This option gives the user total
control. Gromacs doesn't add any flags automatically and instead
shows which flags would be added. The user can manually add those
flags she wants.

Fixes #1038, #1040.

Change-Id: I8655f93fac60bce2c9a35152937d672b3786ff32

11 years agoDisallow the use of Clang to compile AVX_128_FMA
Erik Lindahl [Thu, 10 Jan 2013 00:12:41 +0000 (01:12 +0100)]
Disallow the use of Clang to compile AVX_128_FMA

Clang apparently produces buggy code both for verlet kernels
and group kernels when the AVX_128_FMA acceleration is enabled.
Since it happens in two places it is unlikely to be a minor
bug, and since it covers versions up to the currently
released one, we don't have much choice but to disallow this
combination for now.
Fixes #1099.

Change-Id: If8346fa0a58f51a0ef6ac16e4801fe98ad1c73c9

11 years agoMerge "Move Windows shared/static options to later point" into release-4-6
Roland Schulz [Thu, 10 Jan 2013 18:51:02 +0000 (19:51 +0100)]
Merge "Move Windows shared/static options to later point" into release-4-6

11 years agoMerge "Remove workaround" into release-4-6
Roland Schulz [Thu, 10 Jan 2013 18:50:25 +0000 (19:50 +0100)]
Merge "Remove workaround" into release-4-6

11 years agofixed bug with Verlet + DD + bonded atom communication
Berk Hess [Thu, 10 Jan 2013 16:08:44 +0000 (17:08 +0100)]
fixed bug with Verlet + DD + bonded atom communication

Atoms communicated for bonded interactions can be beyond the cut-off
distance. Such atoms are now put placed in an extra row in the grid.
Fixes #1114

Also improved the performance of the nbnxn grid sorting, especially
for inhomogeneous systems.

Change-Id: Ibe5ba24af95959f5dadd89584e2315da60b55091

11 years agoMove Windows shared/static options to later point
Roland Schulz [Wed, 9 Jan 2013 17:52:08 +0000 (12:52 -0500)]
Move Windows shared/static options to later point

No need to do early and now is together with where those flags
are handled for Unix

Also warn if BUILD_SHARED_LIBS and GMX_PREFER_STATIC_LIBS don't
agree. And undo MD MT replacement if user changes
GMX_PREFER_STATIC_LIBS.

Change-Id: I66a165a7d3aebb31350bb13d19392d3f3935e54b

11 years agoRemove workaround
Roland Schulz [Wed, 9 Jan 2013 17:06:52 +0000 (12:06 -0500)]
Remove workaround

Fixed in 2.8.9. Given that earlier version only have a warning
not an error no need to clutter CMakeLists.txt.

Change-Id: I11410c92f160ba846a9591e670bb7757a5e31bf3

11 years agoRemove broken g_dih tool
Erik Lindahl [Fri, 28 Dec 2012 19:26:57 +0000 (20:26 +0100)]
Remove broken g_dih tool

Per the redmine discussion for #1094, g_dih was broken
due to hardcoded atom names while the documentation
claimed dihedrals were assigned from the topology.
For now it is better to use g_angle and manually define
the dihedrals. We plan to reimplement g_dih from scratch
for 5.0. Fixes #1094.

Change-Id: I57e0614e4d98bb5d4bbb3aaa1d3ba4377a93f988

11 years agoMerge "Fixes SSE/AVX compilation under Windows" into release-4-6
Mark Abraham [Thu, 10 Jan 2013 15:30:03 +0000 (16:30 +0100)]
Merge "Fixes SSE/AVX compilation under Windows" into release-4-6

11 years agoRevert default rlist/rvdw/rcoulomb to valid values of 1.0
Erik Lindahl [Mon, 7 Jan 2013 00:06:06 +0000 (01:06 +0100)]
Revert default rlist/rvdw/rcoulomb to valid values of 1.0

This reverts the part of commit 103d98cf31f064cce7c6ec14fcccd081aa2bbfac
where the default values for rlist, rvdw, and rcoulomb were set
to -1 to enable automatic optimization with verlet kernels and "force
the user to think about the cutoff".
The main reason is that this change breaks the default grompp files
from working, which means it was no longer possible to use an empty
mdp file for quick tests. However, I also think it is against the
idea that the default values should be reasonable first tries - otherwise
we might as well change every single default value in the mdp file to
be invalid to force users to think.

Change-Id: I1c40ea5fefc31c6635f21ceefe4da5c1c350b755

11 years agoFixes SSE/AVX compilation under Windows
Erik Lindahl [Fri, 28 Dec 2012 18:40:53 +0000 (19:40 +0100)]
Fixes SSE/AVX compilation under Windows

- 32-bit MSVC cannot handle more than 3 xmm/ymm register
arguments due to stack alignment, so some group kernel
routines have been copied into optional macros. These are
only used for 32-bit MSVC compiles; other alternatives including
icc on windows use the normal functions that are easier to debug.
- Since the windows compilers control 32 vs 64 bit with flags, a
new log file entry has been added to show whether the present
build is a 32 or 64 bit one.
- Minor fixes to enable double precision AVX_128_FMA builds on
windows.
- Replace use of explicit binary constants with _MM_SHUFFLE()
macro in nbnxn kernels to make it compile under windows.
With these fixes, both SSE2, SSE4, and AVX256 group kernels pass
regressiontests in single and double with MSVC2010, MSVC2012, and
icc 2013.1 used with visual studio 2012. The nbnxn kernels pass
all tests with the exception of 32-bit double precision AVX_256
where all three compilers still fail (Refs #1097).
Fixes #1092, #1093, #1068.

Change-Id: I6807b102af1db01cafba26a45284f5c38c7498fd

11 years agoMerge "Corrected gmxcheck output for Gromos96 bonds." into release-4-6
Erik Lindahl [Wed, 9 Jan 2013 22:04:22 +0000 (23:04 +0100)]
Merge "Corrected gmxcheck output for Gromos96 bonds." into release-4-6

11 years agoCorrected gmxcheck output for Gromos96 bonds.
Justin Lemkul [Wed, 9 Jan 2013 16:09:04 +0000 (11:09 -0500)]
Corrected gmxcheck output for Gromos96 bonds.

There was a small output bug since Gromos96 bonds are modified to have
the reference value stored as (b0)^2 rather than just b0.

Fixes #1109.

Change-Id: Ie4516515f7cacb35d262c2059b5e461962340fec

11 years agoMerge "Added work-around for gcc bug in AVX intrinsincs formal parameter" into releas...
Roland Schulz [Wed, 9 Jan 2013 15:33:43 +0000 (16:33 +0100)]
Merge "Added work-around for gcc bug in AVX intrinsincs formal parameter" into release-4-6

11 years agoMerge "Add check to remove zero Charmm dihedrals" into release-4-6
Roland Schulz [Wed, 9 Jan 2013 06:02:39 +0000 (07:02 +0100)]
Merge "Add check to remove zero Charmm dihedrals" into release-4-6

11 years agoMerge "[tools] g_sans - add trajectory avereging" into release-4-6
Roland Schulz [Wed, 9 Jan 2013 03:40:02 +0000 (04:40 +0100)]
Merge "[tools] g_sans - add trajectory avereging" into release-4-6

11 years agoAdded work-around for gcc bug in AVX intrinsincs formal parameter
Erik Lindahl [Thu, 20 Dec 2012 18:18:04 +0000 (19:18 +0100)]
Added work-around for gcc bug in AVX intrinsincs formal parameter

Many relatively recent gcc versions (4.5.2, possibly 4.6.0) use incorrect
formal parameters for maskload and maskstore intrinsics. This patch
detects the bug during configuration and works around it with a define.
Refs #1058, and fixes it at least from gcc-4.5.2.

Change-Id: I447a968d2153f5acf59ad170ace69ad1b6b3f24d

11 years agoAdd check to remove zero Charmm dihedrals
Erik Lindahl [Sun, 6 Jan 2013 23:54:27 +0000 (00:54 +0100)]
Add check to remove zero Charmm dihedrals

Proper torsions where the force constant is zero
in both A and B states are now removed. We also
check for other angle, torsion, and restraint
functional types, and if all parameters are zero
for these the interaction is not added. This will
not change any results, but increase performance
slightly by not calculating unnecessary interactions.
Fixes #810.

Change-Id: I37ecd06d0641008593edab29e5b08433bde7b6cc

11 years agoDo not always add -msse2 to release flags for icc
Erik Lindahl [Thu, 27 Dec 2012 15:04:33 +0000 (16:04 +0100)]
Do not always add -msse2 to release flags for icc

At least on Windows, this flag will override the -msse4.1 or -mavx
flags added to the main C flags. Since we already add -msse2 in
the same place when using SSE2, I see no reason why it should be
added to the release flags separately.

Change-Id: I933f5b1d5e4e4ead1635ec47b5272a0f6f69da67

11 years agoMerge "Reduce use of monolithic sets of compiler flags" into release-4-6
Roland Schulz [Tue, 8 Jan 2013 03:05:03 +0000 (04:05 +0100)]
Merge "Reduce use of monolithic sets of compiler flags" into release-4-6

11 years agoMerge "fixed nbnxn AVX-256 Ewald table pointer alignment" into release-4-6
Roland Schulz [Mon, 7 Jan 2013 22:54:27 +0000 (23:54 +0100)]
Merge "fixed nbnxn AVX-256 Ewald table pointer alignment" into release-4-6

11 years agoReduce use of monolithic sets of compiler flags
Mark Abraham [Thu, 13 Dec 2012 21:58:33 +0000 (22:58 +0100)]
Reduce use of monolithic sets of compiler flags

This prepares to fix the Redmine issue below (but perhaps could
be folded into it).

Refs #1038

Change-Id: I6407dbbd331e58c30ab1b275748a211040c9c414

11 years agoMerge "cmake: remove double-negative quotes logic" into release-4-6
Roland Schulz [Mon, 7 Jan 2013 22:14:27 +0000 (23:14 +0100)]
Merge "cmake: remove double-negative quotes logic" into release-4-6

11 years agoMerge "Print out atom numbers in g_rmsf" into release-4-5-patches
Roland Schulz [Mon, 7 Jan 2013 22:12:02 +0000 (23:12 +0100)]
Merge "Print out atom numbers in g_rmsf" into release-4-5-patches

11 years agoFix CUDA being quiet and mark all CUDA_* as advanced
Roland Schulz [Mon, 31 Dec 2012 05:08:40 +0000 (00:08 -0500)]
Fix CUDA being quiet and mark all CUDA_* as advanced

The if statement was wrong (didn't agree with comment) and caused
FindCUDA not to be quite on the first run. Also one of the
FindCUDA varaibles CUDA_TOOLKIT_ROOT_DIR wasn't marked as advanced.
While that one is the most important variable, similar variables
(e.g. ${FFTW}_LIBRARIES) is also advanced. It is only marked as
advanced if NOT GMX_GPU.

Fixes #1088

Change-Id: Id6d2c16e64688f1dd4bb3193017deb8b36c5c06e

11 years agofixed nbnxn AVX-256 Ewald table pointer alignment
Berk Hess [Thu, 3 Jan 2013 12:24:03 +0000 (13:24 +0100)]
fixed nbnxn AVX-256 Ewald table pointer alignment

This could lead to access violations, but up till now
this was only observed with 32-bit MSVC builds.
Fixes #1097

Also added more documentation to nbnxn_kernel_simd_utils.h,
renamed macro variables and added minor table optimization
by replacing shuffle with movelh or unpack.

Change-Id: I9df2131cbabb0e6cb86f7224a5fd238acb2e7681

11 years agoMerge "Ignore bool cast warning for MSVC and C++" into release-4-6
Roland Schulz [Mon, 7 Jan 2013 19:15:55 +0000 (20:15 +0100)]
Merge "Ignore bool cast warning for MSVC and C++" into release-4-6

11 years agoMerge "Removed reference to nonexistent file in g_helix." into release-4-6
David van der Spoel [Mon, 7 Jan 2013 13:39:04 +0000 (14:39 +0100)]
Merge "Removed reference to nonexistent file in g_helix." into release-4-6

11 years agocmake: remove double-negative quotes logic
Christoph Junghans [Wed, 19 Dec 2012 17:50:27 +0000 (10:50 -0700)]
cmake: remove double-negative quotes logic

Change-Id: I75b3a45a4f0fbbff6300a6317126c5b0cc302b86

11 years agoMerge "improved reporting of failed affinity setting" into release-4-6
Roland Schulz [Mon, 7 Jan 2013 01:21:49 +0000 (02:21 +0100)]
Merge "improved reporting of failed affinity setting" into release-4-6

11 years agoMerge "Fixed format error in online manual." into release-4-6
Roland Schulz [Mon, 7 Jan 2013 01:21:37 +0000 (02:21 +0100)]
Merge "Fixed format error in online manual." into release-4-6

11 years agoMerge "Fixed a bug that with multiple exchanges" into release-4-6
Roland Schulz [Mon, 7 Jan 2013 01:21:24 +0000 (02:21 +0100)]
Merge "Fixed a bug that with multiple exchanges" into release-4-6

11 years agoMerge "Essential dynamics: fixed restarts when ED group has > 1 molecule" into releas...
Roland Schulz [Mon, 7 Jan 2013 01:21:10 +0000 (02:21 +0100)]
Merge "Essential dynamics: fixed restarts when ED group has > 1 molecule" into release-4-6

11 years agoMerge "minor speed-up and code clean-up in nbnxn kernels" into release-4-6
Roland Schulz [Mon, 7 Jan 2013 01:20:47 +0000 (02:20 +0100)]
Merge "minor speed-up and code clean-up in nbnxn kernels" into release-4-6

11 years agoMerge "Make gmx_cpuid.h self-standing." into release-4-6
Christoph Junghans [Mon, 7 Jan 2013 01:06:32 +0000 (02:06 +0100)]
Merge "Make gmx_cpuid.h self-standing." into release-4-6

11 years agoRemoved reference to nonexistent file in g_helix.
Justin Lemkul [Sat, 5 Jan 2013 23:09:27 +0000 (18:09 -0500)]
Removed reference to nonexistent file in g_helix.

For many years, g_helix has referred to a file called n-ahx.xvg, but
no released version of Gromacs has ever produced it. Being that its contents
are largely reproduced by do_dssp, there is no need to introduce this
functionality and thus the easiest solution is to remove the reference
to this file.

Fixes #1103.

Change-Id: I2b87eed44d9d4c174d3772a39abf24827f63202d

11 years agoMerge "Minor fixes to g_angle help description." into release-4-6
Teemu Murtola [Fri, 4 Jan 2013 19:48:12 +0000 (20:48 +0100)]
Merge "Minor fixes to g_angle help description." into release-4-6

11 years agoSet CMake module search path at a better time
Mark Abraham [Tue, 18 Dec 2012 23:20:04 +0000 (00:20 +0100)]
Set CMake module search path at a better time

This needs to be set before project() in order that
toolchain files for cross compilling can use the same
search path. Otherwise, the users has to specify
fully-qualified toolchain files.

Refs #1064

Change-Id: I1f1fb4803c9f0dd2b95d236da1c1858c5ea382f9

11 years agoMerge "add an option to not build the template" into release-4-6
Teemu Murtola [Fri, 4 Jan 2013 12:23:58 +0000 (13:23 +0100)]
Merge "add an option to not build the template" into release-4-6

11 years agoMerge "Add missing defines to PKG_CFLAGS" into release-4-6
Teemu Murtola [Fri, 4 Jan 2013 12:23:37 +0000 (13:23 +0100)]
Merge "Add missing defines to PKG_CFLAGS" into release-4-6

11 years agoMerge "Fixed error message for zwitterion residues" into release-4-6
Teemu Murtola [Fri, 4 Jan 2013 12:22:26 +0000 (13:22 +0100)]
Merge "Fixed error message for zwitterion residues" into release-4-6

11 years agoadd an option to not build the template
Christoph Junghans [Fri, 21 Dec 2012 18:23:14 +0000 (11:23 -0700)]
add an option to not build the template

Change-Id: Ia85fc9dfbd191ac66cfff2d7b7c815620d800afe

11 years agoAdd missing defines to PKG_CFLAGS
Christoph Junghans [Wed, 19 Dec 2012 23:03:37 +0000 (16:03 -0700)]
Add missing defines to PKG_CFLAGS

Change-Id: I7e4234cf194f10aba1a16cfa81774b8f1941ca76

11 years agoMerge "Fixed GMXRC so we are not polluting standard shell variables" into release-4-6
Roland Schulz [Thu, 3 Jan 2013 18:20:29 +0000 (19:20 +0100)]
Merge "Fixed GMXRC so we are not polluting standard shell variables" into release-4-6

11 years agoFixed format error in online manual.
Justin Lemkul [Thu, 3 Jan 2013 14:52:43 +0000 (09:52 -0500)]
Fixed format error in online manual.

The .gro format indicated a right-aligned residue name, but in
reality the residue name is left-aligned and the atom name in the
next column is right-aligned.  The online manual now reflects this.

Change-Id: I610392c692bf31f962ad069c23d7e55196b64b53

11 years agoMerge "Remove non-functional PowerPC invsqrt." into release-4-6
Christoph Junghans [Thu, 3 Jan 2013 02:53:53 +0000 (03:53 +0100)]
Merge "Remove non-functional PowerPC invsqrt." into release-4-6

11 years agominor speed-up and code clean-up in nbnxn kernels
Berk Hess [Wed, 2 Jan 2013 10:42:50 +0000 (11:42 +0100)]
minor speed-up and code clean-up in nbnxn kernels

Clusters without LJ now use the half-LJ instead of the full-LJ
plus Coulomb kernels. This gives a few percent speed-up for water.
Also updated some kernel comments and macros.

Change-Id: Ifa6072561a7042d9d0602ec7d84bc667361951e4