alexxy/gromacs.git
11 years agoMerge "remove unnecessary cmake messages" into release-4-6
Erik Lindahl [Fri, 18 Jan 2013 15:30:39 +0000 (16:30 +0100)]
Merge "remove unnecessary cmake messages" into release-4-6

11 years agoMerge "fix OpenMP detection on Mac OS broken by a6fee0b" into release-4-6
Erik Lindahl [Fri, 18 Jan 2013 15:09:45 +0000 (16:09 +0100)]
Merge "fix OpenMP detection on Mac OS broken by a6fee0b" into release-4-6

11 years agoremove unnecessary cmake messages
Szilard Pall [Fri, 18 Jan 2013 03:50:13 +0000 (04:50 +0100)]
remove unnecessary cmake messages

Unfortunately f8885a6 slipped in with two debug messages in the compiler
version detection code. This commit removes them so we're back to clean
& silent cmake.

Change-Id: I322183445f75688e3626e8c2382186ce1df1d0a1

11 years agofix OpenMP detection on Mac OS broken by a6fee0b
Szilárd Páll [Thu, 17 Jan 2013 02:36:08 +0000 (03:36 +0100)]
fix OpenMP detection on Mac OS broken by a6fee0b

Compiler version check was done before the version got detected. This
code will avoid false positives even if the compiler version is not
available (although for GNUCC it should always be).

Change-Id: I554f13e4b101ae7c9f70674e966065bf9fcf2b27

11 years agoUpdating the shell completion files
Mark Abraham [Wed, 16 Jan 2013 00:54:56 +0000 (01:54 +0100)]
Updating the shell completion files

Hope this g_tool -man completion technology still works!

Change-Id: I4bfd04ee1e0cc050a0690263d1e7e76f560b0372

11 years agoGromacs install guide updates.
Mark Abraham [Wed, 16 Jan 2013 00:52:42 +0000 (01:52 +0100)]
Gromacs install guide updates.

Change-Id: I6822ef3898abf81f548163386147cbb1a0a01ad0

11 years agoMerge "Remove unnecessary ICC flags affecting performance" into release-4-6
Mark Abraham [Thu, 17 Jan 2013 22:28:41 +0000 (23:28 +0100)]
Merge "Remove unnecessary ICC flags affecting performance" into release-4-6

11 years agoMerge "improved CUDA kernel performance by pre-loading cj" into release-4-6
Mark Abraham [Thu, 17 Jan 2013 22:26:46 +0000 (23:26 +0100)]
Merge "improved CUDA kernel performance by pre-loading cj" into release-4-6

11 years agoMerge "Added note about make_edi and flooding in ED paragraph" into release-4-6
Christoph Junghans [Thu, 17 Jan 2013 22:22:10 +0000 (23:22 +0100)]
Merge "Added note about make_edi and flooding in ED paragraph" into release-4-6

11 years agoMerge "use the compiler version provided by CMake >=2.8.9" into release-4-6
Christoph Junghans [Thu, 17 Jan 2013 22:21:03 +0000 (23:21 +0100)]
Merge "use the compiler version provided by CMake >=2.8.9" into release-4-6

11 years agoMerge "Merge branch 'release-4-5-patches' into release-4-6" into release-4-6
Roland Schulz [Thu, 17 Jan 2013 22:02:49 +0000 (23:02 +0100)]
Merge "Merge branch 'release-4-5-patches' into release-4-6" into release-4-6

11 years agoMerge changes I930b316c,Iea4283e0,I103648f8 into release-4-6
Szilárd Páll [Thu, 17 Jan 2013 22:18:55 +0000 (23:18 +0100)]
Merge changes I930b316c,Iea4283e0,I103648f8 into release-4-6

* changes:
  BlueGene/Q installation notes
  fixed SD+BD integration slowing down with OpenMP threads
  Run regressiontests from build

11 years agoRemove unnecessary ICC flags affecting performance
Roland Schulz [Thu, 17 Jan 2013 09:37:47 +0000 (04:37 -0500)]
Remove unnecessary ICC flags affecting performance

Since we add -msse/../-mavx based on the acceleration we shouldn't
add -mtune=core2 anymore. Especially because it is added later
and takes precedence over the (higher) acceleration flag.

-ip and -funroll-all-loops could also be deleted because they don't
seem to give any significant performance improvement, and might
increase compilation time, but they don't hurt gromacs performance.

In theory it could help to use -xavx instead of -mavx but I can't
measure a difference.

Change-Id: Icd11c40c3cd3ef2ae6ef42f07d5d75c228593f51

11 years agoBlueGene/Q installation notes
Mark Abraham [Wed, 19 Dec 2012 01:24:31 +0000 (02:24 +0100)]
BlueGene/Q installation notes

Change-Id: I930b316c549dea3ec69ce331bbf9d3dcf0bcd4a9

11 years agoMerge branch 'release-4-5-patches' into release-4-6
Mark Abraham [Thu, 17 Jan 2013 18:29:08 +0000 (19:29 +0100)]
Merge branch 'release-4-5-patches' into release-4-6

Conflicts:
src/gmxlib/disre.c
src/kernel/runner.c
src/mdlib/minimize.c
src/tools/gmx_membed.c

Change-Id: I1d5f72a3a9b8468cf478890791bc67d247c1e2c5

11 years agoMerge "note the reason for auto-disabling GPU support in CMake" into release-4-6
Christoph Junghans [Thu, 17 Jan 2013 18:27:01 +0000 (19:27 +0100)]
Merge "note the reason for auto-disabling GPU support in CMake" into release-4-6

11 years agoMerge "Added mdp option 'calc-lambda-neighbors'." into release-4-6
Mark Abraham [Thu, 17 Jan 2013 18:13:41 +0000 (19:13 +0100)]
Merge "Added mdp option 'calc-lambda-neighbors'." into release-4-6

11 years agoMerge "clarify wording of GPU driver-related notes" into release-4-6
Roland Schulz [Thu, 17 Jan 2013 18:03:29 +0000 (19:03 +0100)]
Merge "clarify wording of GPU driver-related notes" into release-4-6

11 years agoFix trjconv -sub with .trr files
Mark Abraham [Tue, 15 Jan 2013 16:13:30 +0000 (17:13 +0100)]
Fix trjconv -sub with .trr files

ftp is set from the -o file's extension, which cannot be efTRN,
since that's a place-holder file type for command-line parsing.
The error text clearly indicates that .trr (== efTRR) should
work, but of course we have no tests for anything.

Added comment that other trajectory types could work here,
but can't be tested at this time.

Fixes #1118

Change-Id: I118b9b1c25fa7c0640c27e584400dfc64853e67f

11 years agofixed SD+BD integration slowing down with OpenMP threads
Berk Hess [Thu, 17 Jan 2013 09:01:11 +0000 (10:01 +0100)]
fixed SD+BD integration slowing down with OpenMP threads

The SD and BD integrators would integrate on all OpenMP threads,
making the integration much slower instead of faster.
It is not clear if the results could be affected by this bug.
Fixes #1121

Change-Id: Iea4283e0470b72f6f927cb49503ac91d65025647

11 years agoRun regressiontests from build
Roland Schulz [Sat, 22 Dec 2012 21:47:50 +0000 (16:47 -0500)]
Run regressiontests from build

If either REGRESSIONTEST_PATH or REGRESSIONTEST_DOWNLOAD is set,
the regressiontests are run as ctests. The later option auto-
downloads the regressiontest repo.

The "check" target builds and runs tests in one step.
The "gmxtests" target builds tests.
If neither variable is set by the user, the commit doesn't change
the prior behavior (no messsages). Running the new target "check"
without either variable set, prints a warnings.

This commit also removes the prior pseudo test of running
"mdrun -h".

Change-Id: I103648f8a87891727a70775b19449fc269002a1c

11 years agoimproved CUDA kernel performance by pre-loading cj
Berk Hess [Sat, 12 Jan 2013 21:41:15 +0000 (22:41 +0100)]
improved CUDA kernel performance by pre-loading cj

Change-Id: Ic725a82d550e2ecffd4d32edd2c44205aef99b8d

11 years agoAdded mdp option 'calc-lambda-neighbors'.
Sander Pronk [Tue, 15 Jan 2013 12:19:23 +0000 (13:19 +0100)]
Added mdp option 'calc-lambda-neighbors'.

Added an option 'calc-lambda-neighbors' to limit the number of free
energy delta H evaluations and output operations: this value sets the
amount of neighboring lambda points to calculate and print the energy
for. If it's 1, it will only calculate directly adjacent lambda points'
energies (if it's -1, it will calculate all points). This tremendously
cuts down the number of (expensive) energy calculations done without
impacting the results for most users

Note that this commit only limits the number of outputs, not the number
of calculations. That is left for a later commit.

Change-Id: I10590dd1a2036b529946da86b414c2561d14bda1

11 years agoFixes to free energy code, output & g_bar compatibility.
Sander Pronk [Thu, 10 Jan 2013 22:35:28 +0000 (23:35 +0100)]
Fixes to free energy code, output & g_bar compatibility.

- Fixes to the handling of the new free energy input options, so that
    input are more stringently checked and common errors are caught.
- Fixed g_bar so it can deal with output from mdrun (in dhdl.xvg and
    ener.edr input)
- Free energy output is now backward compatible with g_bar if 4.5-style
    settings are used
- Some mdp option documentation clarifications.

This fixes issue #1090

Still left to do:
- g_energy -odh relies on an ugly hack to get the xvg headers for free
  energy
output to work. That needs to be fixed so ener.edr can be interpreted
independently from the associated tpr file.
- The mdp documentation could use some more improvements.

Change-Id: I6198f935a94b7341d8dd85444e348ea8a55621ad

11 years agoAdded note about make_edi and flooding in ED paragraph
Carsten Kutzner [Thu, 17 Jan 2013 12:39:35 +0000 (13:39 +0100)]
Added note about make_edi and flooding in ED paragraph

Change-Id: I735c75194aeaa76570d211e51665ec89cfc3ef82

11 years agouse the compiler version provided by CMake >=2.8.9
Szilárd Páll [Thu, 17 Jan 2013 05:43:53 +0000 (06:43 +0100)]
use the compiler version provided by CMake >=2.8.9

With CMake <2.8.9 we still use our slightly naive compiler version
detection code, but from 2.8.9 CMake provides a compiler version
variable which should be more robust and portable, so we will use that
instead.

Change-Id: I3cefa227c4962d9a2fae06af2c5b2a0d22ef30c4

11 years agonote the reason for auto-disabling GPU support in CMake
Szilárd Páll [Wed, 16 Jan 2013 20:27:42 +0000 (21:27 +0100)]
note the reason for auto-disabling GPU support in CMake

As the status message on unsuccesful CUDA detection has been muted, the
user is left clueless about why do we disable GPU support at configure
time. Extended the status message to note that this happens because no
compatible CUDA was found.

Some minor status message and code comment tweaks were also done.

Change-Id: Icfba7b56546997cd38952ceff2b7914c9f5b2d67

11 years agoclarify wording of GPU driver-related notes
Szilárd Páll [Thu, 17 Jan 2013 03:01:35 +0000 (04:01 +0100)]
clarify wording of GPU driver-related notes

After getting the ill-documented return value of cudaDriverGetVersion
clarified with NVIDIA driver engineers, the notes and warnings have been
clarified and now refer to driver API version 5.0.

Change-Id: I66cda563cd6753e5337ac0ed28264a3941627a03

11 years agoFinally move OpenMM to contrib
Mark Abraham [Mon, 14 Jan 2013 00:47:02 +0000 (01:47 +0100)]
Finally move OpenMM to contrib

I've paid lip service to attempting to leave the build functional.
There's a few places GMX_OPENMM still has to appear in the main code,
because of how CMake works and how badly GROMACS libraries work. I'm
prepared to fix obvious major issues anyone spots. I'm proposing not
to do any testing of whether the build works, since the 4.5 build is
still available. If later on someone wants both OpenMM and some
feature in 4.6 they can ask then for help fixing the damage here.

Fixes #1079, for certain values of "fixes" :-)

Change-Id: Ic27b8c3bdc1255cc3edb01bcfa11f47d6a03b44d

11 years agoFix confusing gmx_header_config.h include
Roland Schulz [Tue, 15 Jan 2013 22:29:49 +0000 (17:29 -0500)]
Fix confusing gmx_header_config.h include

Easy to forget gmx_header_config.h because
historically only config.h is needed and
in master only config.h is needed, too.
Hid a bug in gmx_cpuid.c which didn't
do anything on Windows because the proper
define wasn't set.

Also fixes the compiler warnings in gmx_cpuid.c

Change-Id: I0ad9ca77bfe05551bdde82ab4e92b180c1e5963b

11 years agodon't use polling with new driver
Szilard Pall [Fri, 11 Jan 2013 06:11:55 +0000 (07:11 +0100)]
don't use polling with new driver

With the 304.xx (API v5.0) drivers the cudaStreamSynchronize overhead
has been substantially reduced, so with these there is no need to switch
to polling. Additionally, with GPUs oversubscribed the polling has been
shown to be unstable, so this case is now detected and switch to polling
is not done.

Also corrected some warning/note printing layout.

Change-Id: I32a7ecda42de31f825a6341c81f04ca0b97c0d4a

11 years agoclean up fortran name mangling
Christoph Junghans [Tue, 25 Dec 2012 00:28:29 +0000 (17:28 -0700)]
clean up fortran name mangling

* centralize name mangling for easy change
* mangling is set to GNU's default mangling
* don't expose internal blas/lapack/arpack headers

Change-Id: I5a2a6298808cbb43e6aea0f06397ee0f0102685f

11 years agofixed nbnxn hybrid mode with OpenMP
Berk Hess [Fri, 11 Jan 2013 13:59:31 +0000 (14:59 +0100)]
fixed nbnxn hybrid mode with OpenMP

Fixes #1100

Change-Id: I2f3c95f698852ab496a648a04555c0e9ecb57463

11 years agomade PME load balancing + DD DLB more efficient
Berk Hess [Mon, 14 Jan 2013 09:19:25 +0000 (10:19 +0100)]
made PME load balancing + DD DLB more efficient

The DD dynamic load balancing is now limited, such that the fastest
timed PME load balancing cut-off setting can always be used.
Fixes #1089

Change-Id: I3216dfd5a8b2b0676eee5519e08cf36e06047251

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 "Added fatal error for constraints + L-BFGS minimizer" into release-4-5-patches
Christoph Junghans [Tue, 15 Jan 2013 17:36:06 +0000 (18:36 +0100)]
Merge "Added fatal error for constraints + L-BFGS minimizer" into release-4-5-patches

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 agoVelocity-verlet integrators and v-rescale are broken
Mark Abraham [Mon, 14 Jan 2013 22:48:20 +0000 (23:48 +0100)]
Velocity-verlet integrators and v-rescale are broken

Added fatal error and suggestion to upgrade GROMACS version.

Fixes #1000

Change-Id: I22653fafdfd0fb2f1fa772fbd95bc55fcf072d8c

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 agoAdded fatal error for constraints + L-BFGS minimizer
Mark Abraham [Mon, 14 Jan 2013 23:36:53 +0000 (00:36 +0100)]
Added fatal error for constraints + L-BFGS minimizer

Refs #1053

Change-Id: I0fd609918927883fc9ec20d0599a48e396d81d94

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 "Fixing trjconv -sub" into release-4-5-patches
David van der Spoel [Mon, 14 Jan 2013 19:16:59 +0000 (20:16 +0100)]
Merge "Fixing trjconv -sub" into release-4-5-patches

11 years agoMerge "Noting that and why gmxdump -s -sys is broken" into release-4-5-patches
David van der Spoel [Mon, 14 Jan 2013 19:04:48 +0000 (20:04 +0100)]
Merge "Noting that and why gmxdump -s -sys is broken" into release-4-5-patches

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 agoUpdated code checks with distance restraints
Mark Abraham [Sun, 13 Jan 2013 18:57:36 +0000 (05:57 +1100)]
Updated code checks with distance restraints

Ensemble-averaged distance restraints require -multi, and it is
also reasonable to do REMD with distance restraints, which also
requires -multi. So checks for the ensemble-averaging case need
to be more sensitive to their context.

In fact, ensemble-averaging is probably functional only with PD and
one processor per system, since that was probably all that was
available when it was built.

Fixes #613, refs #1117

Change-Id: Ia6f1bb4eb82eab3c7c249638cd3a5a5d1f707132

11 years agoFixing trjconv -sub
Mark Abraham [Wed, 3 Oct 2012 13:19:32 +0000 (23:19 +1000)]
Fixing trjconv -sub

The process of making code thread safe broke this.

Change-Id: Ie6617c00e52b09ea0eade2dcb0ae998e8ebf3cc4

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 agoNoting that and why gmxdump -s -sys is broken
Mark Abraham [Sun, 13 Jan 2013 21:23:37 +0000 (22:23 +0100)]
Noting that and why gmxdump -s -sys is broken

Not worth fixing. You could pass a boolean from gmxdump
into the set_posres_params to avoid executing the
problematic line, but that would hit a lot of
other code paths that also call gmx_mtop_to_t_topology.

Refs #635

Change-Id: I308e59287dc578b95ea67c313867df3e75047fa4

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