alexxy/gromacs.git
11 years agoMerge "Updated source for Van der Waals radii."
David van der Spoel [Wed, 1 May 2013 17:05:23 +0000 (19:05 +0200)]
Merge "Updated source for Van der Waals radii."

11 years agoRemove gmx_ana_index_t::name and unused code.
Teemu Murtola [Fri, 12 Apr 2013 11:18:41 +0000 (14:18 +0300)]
Remove gmx_ana_index_t::name and unused code.

Remove the name field from gmx_ana_index_t, which was in most cases
NULL, and was a source of multiple ugly hacks in the selection code to
avoid leaking the memory allocated for the name.
Now that SelectionTreeElement has a proper std::string name member,
there is no need for this name field anywhere in the selection code
where the atom groups are handled as selection values.

Also remove unused code from indexutil.* (that would have required extra
effort to not break it).

Change-Id: I14698c17da3b479de4016a6188fcd235514b9e2a

11 years agoMerge "Fix another bug in selection subexpression handling."
Christoph Junghans [Mon, 29 Apr 2013 18:56:50 +0000 (20:56 +0200)]
Merge "Fix another bug in selection subexpression handling."

11 years agoMerge "Fix bug in selection subexpression handling."
Christoph Junghans [Mon, 29 Apr 2013 18:55:52 +0000 (20:55 +0200)]
Merge "Fix bug in selection subexpression handling."

11 years agoUpdated source for Van der Waals radii.
David van der Spoel [Fri, 12 Apr 2013 09:34:32 +0000 (11:34 +0200)]
Updated source for Van der Waals radii.

Implemented new Van der Waals radii in atomprop. This may
have an effect on results from gmx sas or editconf and therefore
a message is printed to notify the users of this.
The genbox program is adapted to have an extra option to scale
the Van der Waals radii, in case it is difficult to add extra
atoms. The default value for this option is 0.57 which gives approximately
the same density as old genbox.

Change-Id: Ib5d86a920ae7732ee8a29505449e6d34e3d3980c

11 years agoAdd check for empty selections.
Teemu Murtola [Fri, 12 Apr 2013 04:35:18 +0000 (07:35 +0300)]
Add check for empty selections.

The framework now checks that provided selections are not
unconditionally empty, and produces error messages in those cases.
Added an option for controlling this if there is some rare case where
selecting "none" would be reasonable input.

Change-Id: I7066fa89bcebfc883483cf2ddb769a31c3942260

11 years agoImplement remaining SelectionOption flags.
Teemu Murtola [Fri, 12 Apr 2013 04:19:40 +0000 (07:19 +0300)]
Implement remaining SelectionOption flags.

- If onlyAtoms() is specified, check the condition after the selections
  have been compiled.
- If onlyAtoms() is specified for all selection options, remove the
  -seltype command-line option, as it has no use.
- Removed unimplemented dynamicOnlyWhole() as the way it worked in 4.5
  is not really compatible with the current handling of selections.
  It was any way only affecting a default value, but not enforcing
  anything.

Change-Id: I0cd4ff6d425cc017bead090be12867b4f41e7783

11 years agoMerge "Add histogram output for 'gmx gangle'."
David van der Spoel [Fri, 12 Apr 2013 18:34:54 +0000 (20:34 +0200)]
Merge "Add histogram output for 'gmx gangle'."

11 years agoFix another bug in selection subexpression handling.
Teemu Murtola [Tue, 9 Apr 2013 18:57:15 +0000 (21:57 +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.

Change-Id: Ic95d37a424c82c796806b3a5b39678e206c467a1

11 years agoFix bug in selection subexpression handling.
Teemu Murtola [Sat, 6 Apr 2013 04:17:57 +0000 (07: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.

Subexpression handling in the selections is starting to (again) get very
messy, but that is a topic for a larger-scale refactoring...

Fixes #1216.

Change-Id: Ic6b7f9b8df661a9c78d7862b981a07e65a7ebdbf

11 years agoAdd histogram output for 'gmx gangle'.
Teemu Murtola [Tue, 26 Mar 2013 04:43:57 +0000 (06:43 +0200)]
Add histogram output for 'gmx gangle'.

This analysis module can now compute histograms of the angles with -oh.
Bin width can be set with -binw.

Change-Id: Ib4f72e43c84706685f1dbc9584bd31ca1abda297

11 years agoMerge libgmxana into libgromacs.
Teemu Murtola [Sun, 24 Mar 2013 13:49:31 +0000 (15:49 +0200)]
Merge libgmxana into libgromacs.

- Move contents of src/tools/ into src/gromacs/gmxana/, except for
  g_tune_pme.c and g_pme_error.c.
- Delete unused src/tools/g_membed.c.
- Adjust the build system accordingly, removing references to gmxana.
- Merge contents of libgmxana.pc into libgromacs.pc and remove the
  former.
- Move src/gromacs/legacyheaders/gmx_ana.h into src/gromacs/gmxana/ and
  adjust files that include it accordingly.  Removed a few unnecessary
  inclusions of this header.  Don't install it, as it doesn't do much
  good.
- Merge src/contrib/g_sdf.c into src/contrib/gmx_sdf.c to make it
  independent of gmx_ana.h.  Remove gmx_sdf() from gmx_ana.h.

Closes #1013.

Change-Id: I34ba52fc938823833103123c8ada06d169abf7de

11 years agoFix problems with intel-mpi
Roland Schulz [Mon, 11 Mar 2013 05:19:46 +0000 (01:19 -0400)]
Fix problems with intel-mpi

The mpich version with intel-mpi has a naming conflict of SEEK_SET
between stdio and the C++ binding of MPI. It would be sufficient
to set MPICH_IGNORE_CXX_SEEK or change the include order, but
given that the C++ binding is deprecated and not used it seems
more constistent to simply disable the MPI C++ binding as a whole.

Also moves the #ifdef for lib-mpi/thread-mpi into one file
and thus simplifies the code.

Change-Id: I9702b840f1d1ac51e99b610a7c125d97cda69164

11 years agoMerge "Merge release-4-6 into master"
Teemu Murtola [Fri, 22 Mar 2013 12:27:22 +0000 (13:27 +0100)]
Merge "Merge release-4-6 into master"

11 years agoMerge release-4-6 into master
Roland Schulz [Sun, 10 Mar 2013 21:25:44 +0000 (17:25 -0400)]
Merge release-4-6 into master

Conflicts:
CMakeLists.txt (trivial)
bootstrap (deleted)

Reverted: tests/CMakeLists.txt (GMXLIB - not necessary)

Change-Id: I2f0810ac6343b3629f01169b13c06784ccfd56cf

11 years agoBetter test assertions for exceptions.
Teemu Murtola [Fri, 8 Mar 2013 11:49:12 +0000 (13:49 +0200)]
Better test assertions for exceptions.

Google Test assertions (ASSERT|EXPECT)(_NO)?_THROW only print
"Actual: it throws." or similar when the assertion fails.  Added
Gromacs-specific exception assertions to improve output in these cases.
The new assertions have a _GMX suffix, and are used the same as the
Google Test ones.

The only real code changes are in src/testutils/testasserts.h and in
src/gromacs/utility/exceptions.*; all the other changes are mechanical
replacement of existing macros.

Change-Id: Iadcf08a0148fdcb6228e0abccea89c33d817a018

11 years agoImprove enum option interface.
Teemu Murtola [Tue, 12 Feb 2013 12:44:17 +0000 (14:44 +0200)]
Improve enum option interface.

It is no longer necessary to have explicit NULL terminating arrays
passed to StringOption::enumValue().  Instead, let the compiler deduce
the size of the array.  Reduces the potential for coding mistakes, as it
is now impossible to forget to terminate the array.

Added a separate enumValueFromNullTerminatedArray() for those rare cases
where the array is programmatically constructed or the compiler for
other reasons doesn't know its size at compile time.

Change-Id: I5e7d63db1eeea6d9d271fa299c98c781f52bd89c

11 years agoMore flexible handling of enum option descriptions.
Teemu Murtola [Fri, 21 Dec 2012 05:59:10 +0000 (07:59 +0200)]
More flexible handling of enum option descriptions.

Instead of always appending the list of allowed values to the
description of enum options, expose the list through StringOptionInfo
and construct the final description in cmdlinehelpwriter.cpp.

This gives better control for printing the option lists in different
formats.  Also allows removal of AbstractOption::createDescription(),
streamlining the core option implementation slightly.

Prerequisite for #969.

Change-Id: I26494f79757ad6894f1930b1bff2f2c74cc26f9c

11 years agoFix copyright notices for new C++ code.
Teemu Murtola [Sun, 17 Feb 2013 14:12:45 +0000 (16:12 +0200)]
Fix copyright notices for new C++ code.

Replace the copyright headers with the new headers in all source files.
Add the new header to most build system files and some other files.
May have missed some files that should have the header, but most files
new in the master branch should now have the new header, with a
reasonable set of copyrightable years.

Update the list of years as the years where there have been commits to
those files (excluding most recent copyright and uncrustification
changes).  Remove copyright years that predate existence of the code.

Regenerated the selection parser files from source to fix line numbers
caused by different number of lines in the new copyright header.
Add copyright declarations to generated selection parser files.
Some other changes in the generated parser.* caused by Bison updates
(now used 2.6.2, previously had used 2.5).

Part of #818.

Change-Id: I38c18c03b1ee0ff55fd112951d3f741274ad59af

11 years agoUpdate my e-mail address on author lines.
Teemu Murtola [Wed, 20 Feb 2013 20:10:07 +0000 (22:10 +0200)]
Update my e-mail address on author lines.

Left CBR some years ago, so use replaced the CBR e-mail address with the
one that I've been using after that in all commits.  This one will
hopefully stay the same in the foreseeable future...

Change-Id: I479426c4b7b323d6613e5f91588880c624e78cf1

11 years agoMerge "Uncrustify template.cpp and selection.cpp."
Teemu Murtola [Thu, 7 Mar 2013 18:44:22 +0000 (19:44 +0100)]
Merge "Uncrustify template.cpp and selection.cpp."

11 years agoMerge "Merge release-4-6 into master"
Teemu Murtola [Thu, 7 Mar 2013 18:44:03 +0000 (19:44 +0100)]
Merge "Merge release-4-6 into master"

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 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 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 agoMerge release-4-6 into master
Roland Schulz [Tue, 26 Feb 2013 19:06:06 +0000 (14:06 -0500)]
Merge release-4-6 into master

Conflicts:
share/top/gurgle.dat
src/contrib/addquote.c (deleted)
src/programs/mdrun/pme_loadbal.c

Took for all python files the version with the new copyright:
src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_double/make_nb_kernel_avx_128_fma_double.py
src/gromacs/gmxlib/nonbonded/nb_kernel_avx_128_fma_single/make_nb_kernel_avx_128_fma_single.py
src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/make_nb_kernel_avx_256_double.py
src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_single/make_nb_kernel_avx_256_single.py
src/gromacs/gmxlib/nonbonded/nb_kernel_c/make_nb_kernel_c.py
src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_double/make_nb_kernel_sse2_double.py
src/gromacs/gmxlib/nonbonded/nb_kernel_sse2_single/make_nb_kernel_sse2_single.py
src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_double/make_nb_kernel_sse4_1_double.py
src/gromacs/gmxlib/nonbonded/nb_kernel_sse4_1_single/make_nb_kernel_sse4_1_single.py

Change-Id: I8f9181d7d04d9da635ccb2a85f9d5c6255fcdb73

11 years agoMerge "Merge release-4-6 into master"
Christoph Junghans [Tue, 26 Feb 2013 18:34:26 +0000 (19:34 +0100)]
Merge "Merge release-4-6 into master"

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 agoUncrustify template.cpp and selection.cpp.
Teemu Murtola [Sun, 17 Feb 2013 14:10:24 +0000 (16:10 +0200)]
Uncrustify template.cpp and selection.cpp.

template.cpp was missed in the original reformatting, and selection.cpp
got rebased past the uncrustify commit and got missed in reformatting
that I did for such changes.

Part of #845.

Change-Id: I9753e6add8aed894b10e829b63dc729f0d3d9b4b

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 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

11 years agoFix CMake namespace pollution
Mark Abraham [Sat, 9 Feb 2013 16:35:11 +0000 (17:35 +0100)]
Fix CMake namespace pollution

When gmxManageMPI finds MPI and CMake version is less than 2.8.10,
the variable file_cmd ends up in the non-advanced CMake namespace.
Made it advanced in those cases.

Change-Id: I79fd46e1b66d6c5ab008973e654092939eeae4dc

11 years agoIssue errors/warnings for ICC before 12.0.0
Roland Schulz [Mon, 21 Jan 2013 22:58:46 +0000 (17:58 -0500)]
Issue errors/warnings for ICC before 12.0.0

ICC 11.1 with SSE4.1 gives incorrect results, so CMake will
refuse to build with that minor version. Given that we
currently don't know anything specific and 11 is old, we
warn with any version older than 12.0.0. If more information
is available later, this warning can be made more specific.

Fixes #1126

Change-Id: I3c37844c69ce34769187f288c43cd8aef4086c53

11 years agoAdd missing include
Roland Schulz [Wed, 6 Feb 2013 21:25:34 +0000 (16:25 -0500)]
Add missing include

Fixes oversubscription error.

Change-Id: I8d3375010e75ee39324cd800c86e2a19e0632d5e

11 years agobugfix for md-vv + nose-hoover + (nstcalcenergy > nsttcouple)
Michael Shirts [Thu, 14 Feb 2013 03:01:14 +0000 (22:01 -0500)]
bugfix for md-vv + nose-hoover + (nstcalcenergy > nsttcouple)

Need global communication the step befre nsttcouple
in order to get the kinetic energy right, because
of the offsets velocity verlet from leapfrog.

Fixes redmine #1129

Change-Id: Ia6157db8304cc4fb8cccbda0ac3b949e800efeb5

11 years agoUse explicit kernel pointer typecasts
Mark Abraham [Tue, 29 Jan 2013 13:29:28 +0000 (14:29 +0100)]
Use explicit kernel pointer typecasts

Some compilers don't like implicit casts from function pointers
to void*, so if we're going to be dirty, dirty people, we may
as well come clean about it.

Change-Id: Ia071c6a10a4ec20b83ddb13e4f0cd2a7b139264f

11 years agoMerge "Minor fixes to Verlet kernels" into release-4-6
Mark Abraham [Fri, 15 Feb 2013 22:32:16 +0000 (23:32 +0100)]
Merge "Minor fixes to Verlet kernels" into release-4-6

11 years agoMerge "improved PME load balancing reporting" into release-4-6
Mark Abraham [Fri, 15 Feb 2013 18:29:33 +0000 (19:29 +0100)]
Merge "improved PME load balancing reporting" into release-4-6

11 years agoMerge "Re-generated group kernels" into release-4-6
Mark Abraham [Fri, 15 Feb 2013 16:51:47 +0000 (17:51 +0100)]
Merge "Re-generated group kernels" into release-4-6

11 years agoMerge "Unwinds flag dependencies in g_order." into release-4-6
Mark Abraham [Fri, 15 Feb 2013 14:54:21 +0000 (15:54 +0100)]
Merge "Unwinds flag dependencies in g_order." into release-4-6

11 years agoMerge "Fixed an initialization issue in gmx_dipoles." into release-4-6
David van der Spoel [Fri, 15 Feb 2013 12:41:47 +0000 (13:41 +0100)]
Merge "Fixed an initialization issue in gmx_dipoles." into release-4-6

11 years agoMerge "use legacy CUDA non-bonded kernels only on Fermi" into release-4-6
Mark Abraham [Fri, 15 Feb 2013 12:38:24 +0000 (13:38 +0100)]
Merge "use legacy CUDA non-bonded kernels only on Fermi" into release-4-6

11 years agoMerge "More descriptive Verlet kernel macro parameter names" into release-4-6
Mark Abraham [Fri, 15 Feb 2013 12:38:05 +0000 (13:38 +0100)]
Merge "More descriptive Verlet kernel macro parameter names" into release-4-6

11 years agoFixed an initialization issue in gmx_dipoles.
Sander Pronk [Fri, 15 Feb 2013 12:12:53 +0000 (13:12 +0100)]
Fixed an initialization issue in gmx_dipoles.

This fixes a warning in gcc 4.7

Change-Id: Ief8a057dff24c9a61c20301215a7009c2a16e74a

11 years agoimproved PME load balancing reporting
Berk Hess [Tue, 5 Feb 2013 11:55:52 +0000 (12:55 +0100)]
improved PME load balancing reporting

With the group cut-off scheme, rlist was reported incorrectly.
Added a note in log and stderr when PME load balancing increases
the non-bonded workload by more than 50%.

Change-Id: I7d46f5a110b24cbb40b6b9cb53a1d90715c7c5ec

11 years agoMinor fixes to Verlet kernels
Mark Abraham [Mon, 28 Jan 2013 15:48:08 +0000 (16:48 +0100)]
Minor fixes to Verlet kernels

* clarified some comments
* documented use of nbfp_s4 better

Change-Id: I0848f2e570daef881368a45d4a429a3f80fde81b

11 years agoUnwinds flag dependencies in g_order.
Peter Kasson [Tue, 22 Jan 2013 20:18:43 +0000 (12:18 -0800)]
Unwinds flag dependencies in g_order.

A feature added a while back to g_order had a flag dependency
(-calcdist forced -radial). This patch attempts to unwind that
dependency and allow -calcdist independent of -radial.

Fixed help message for -calcdist

Change-Id: I8c368f9109ee305d79a3c0c1b6838439598a4e89

11 years agoMerge "Fix and add Verlet kernel error messages" into release-4-6
Mark Abraham [Fri, 15 Feb 2013 08:41:16 +0000 (09:41 +0100)]
Merge "Fix and add Verlet kernel error messages" into release-4-6

11 years agoFix velocity and force evaluation for empty selections.
Teemu Murtola [Sat, 9 Feb 2013 15:36:07 +0000 (17:36 +0200)]
Fix velocity and force evaluation for empty selections.

Requesting velocity or force evaluation and then passing an empty
selection resulted in an assert (in multiple places in the code).
Added a test for the behavior in this case.

Change-Id: I70cfb43c652f709fd555b4f23467f71fdb4bd3e7

11 years agoChange ConstArrayRef constructor argument order.
Teemu Murtola [Sat, 9 Feb 2013 04:45:32 +0000 (06:45 +0200)]
Change ConstArrayRef constructor argument order.

The new order is more consistent with STL: e.g., std::copy_n() has
arguments in this order.

Change-Id: I72b8e45514336ab674a4118a0ff42296dc12a74e

11 years agoAdd continuous array accessors for selection data.
Teemu Murtola [Fri, 8 Feb 2013 13:28:58 +0000 (15:28 +0200)]
Add continuous array accessors for selection data.

It is now possible to access most selection data (coordinates, masses,
etc.) as continuous arrays for easier use with functions that expect
C arrays as input.

Change-Id: I285b4ff79137e2ca57c8e40b426b364572e3c13e

11 years agoAdd tests for selection mass evaluation and fix it.
Teemu Murtola [Fri, 8 Feb 2013 13:26:47 +0000 (15:26 +0200)]
Add tests for selection mass evaluation and fix it.

Removed unnecessary and at times incorrect precalculation of total
masses and charges for selected positions. Evaluate them again for each
frame if they may have changed.

Noticed when adding some tests for this behavior; the tests are also
added here.

Also store the masses and charges again in continuous arrays in
preparation for exposing those arrays.

Fixes #1145.

Change-Id: Ifa23d042706d9f2a0b8aa142338812f055f6f60a

11 years agoMerge "Fix code bug with thread-MPI on PowerPC with xlc" into release-4-6
Sander Pronk [Wed, 13 Feb 2013 21:24:25 +0000 (22:24 +0100)]
Merge "Fix code bug with thread-MPI on PowerPC with xlc" into release-4-6

11 years agoMerge "Fixed the MPI recognition string in g_tune_pme" into release-4-6
Roland Schulz [Wed, 13 Feb 2013 21:24:19 +0000 (22:24 +0100)]
Merge "Fixed the MPI recognition string in g_tune_pme" into release-4-6

11 years agoMerge "improve setup of multiple tf tables" into release-4-6
Roland Schulz [Wed, 13 Feb 2013 21:22:49 +0000 (22:22 +0100)]
Merge "improve setup of multiple tf tables" into release-4-6

11 years agoMerge release-4-6 into master
Roland Schulz [Wed, 13 Feb 2013 21:05:55 +0000 (16:05 -0500)]
Merge release-4-6 into master

Conflicts:
cmake/Findgsl.cmake (deleted)
src/gromacs/legacyheaders/pme.h (manually removed export)
src/gromacs/mdlib/pme_pp.c (trivial)

Change-Id: I716f58e9dbb2c4a4c81993475ea6a98a0d0ba440

11 years agoMerge release-4-6 into master
Roland Schulz [Wed, 13 Feb 2013 21:01:16 +0000 (16:01 -0500)]
Merge release-4-6 into master

Conflicts (all trivial):
        CMakeLists.txt
        admin/mkhtml
        share/template/CMakeLists.txt
        src/gromacs/gmxlib/nonbonded/nb_generic_adress.c
        src/gromacs/gmxlib/nonbonded/nb_kernel_avx_256_double/nb_kernel_template_avx_256_double.pre

Manual changes:
        CMakeLists.txt: Reverted change to CPACK_PACKAGE_VERSION_PATCH

Change-Id: Ib38fbbdd5d3d7e531d4e1db0229d6305b84bbd6b

11 years agoCode beautification with uncrustify
Roland Schulz [Tue, 12 Feb 2013 19:01:14 +0000 (14:01 -0500)]
Code beautification with uncrustify

Uses same unrustify config and version as release-4-6 branch.

version:
https://github.com/rolandschulz/uncrustify/tree/gromacs

Final version and config is still under dicussion (I4ef0b69eed4).
Final version will not change signficant from this. This commit
allows to merge 4.6 into master.

Command:
uncrustify --replace -c admin/uncrustify.cfg `find src -not -name 'nb_kernel_Elec*' -not -path '*/external/*' -not -path '*src/gromacs/linearalgebra/gmx_blas/*' -not -path '*src/gromacs/linearalgebra/gmx_lapack/*' -not -path 'src/contrib/*' -not -path '*nb_kernel_adress_c*' -not -name 'parser.*' -not -name scanner.cpp -not -name scanner_flex.h \( -name '*.c' -o -name '*.cc' -o -name '*.h' -o -name '*.cpp' \)

Change-Id: If3e0768cd09dafd23e38a7a3fff06e9e804891e1

11 years agoPlain text quotes.
David van der Spoel [Sat, 15 Dec 2012 10:11:43 +0000 (11:11 +0100)]
Plain text quotes.

And removed 5 gurgles and 2 bromacses - replaced the bromacses
by new and exciting ones.
Change-Id: Ibdad70d6ceb0caa52be351762704a677e9dddba8

11 years agoFix code bug with thread-MPI on PowerPC with xlc
Mark Abraham [Tue, 29 Jan 2013 12:37:30 +0000 (13:37 +0100)]
Fix code bug with thread-MPI on PowerPC with xlc

Change-Id: I8254ae915fdd24e02cf8f07789c69c3d4b35525e

11 years agoMore descriptive Verlet kernel macro parameter names
Mark Abraham [Sun, 3 Feb 2013 10:40:06 +0000 (11:40 +0100)]
More descriptive Verlet kernel macro parameter names

Also more consistent with SIMD kernel usage

Change-Id: Ia8dd723075b5c289d0171e3d34ecd51a0fc152f4

11 years agoFix and add Verlet kernel error messages
Mark Abraham [Sat, 2 Feb 2013 11:53:19 +0000 (12:53 +0100)]
Fix and add Verlet kernel error messages

Handles default cases better

Change-Id: I45d8ebd73184630180e6ed87d54c3a8fc3cbef73

11 years agoRe-generated group kernels
Mark Abraham [Wed, 13 Feb 2013 15:07:33 +0000 (16:07 +0100)]
Re-generated group kernels

This should be a null operation, but I had to fix copyright
years in python scripts and it had the following effects:
* removed some debugging printf statements in GB C kernels
* minor whitespace change now consistent between template and output

Change-Id: I3c3fe9be625ca4f7ade6871fc105fd80899e5a70

11 years agoAdded extra check in for setaffinity support.
Sander Pronk [Wed, 13 Feb 2013 14:24:22 +0000 (15:24 +0100)]
Added extra check in for setaffinity support.

The Linux version of tMPI_Thread_setaffinity_support() did not check
whether pthread_setaffinity_np() would actually work on the system
it's running on. It now checks by running pthread_getaffinity_np()
and checking its return value.

This is relevant for, for example, Bluegene systems which don't
support explicit affinity setting.

Change-Id: I4833e7384067f897013d6fa4d0b35963ae740fcf

11 years agoFixed the MPI recognition string in g_tune_pme
Carsten Kutzner [Wed, 13 Feb 2013 11:41:46 +0000 (12:41 +0100)]
Fixed the MPI recognition string in g_tune_pme

Since the identifying string "NNODES="is not printed any more by MPI-enabled
mdrun, we now use the "MPI library:" string instead.

Change-Id: Ibbcc0678a7c89057743129aa664fad8bb68f1941

11 years agoMerge "Updated FindGSL.cmake to version written by me." into release-4-6
Roland Schulz [Wed, 13 Feb 2013 01:15:23 +0000 (02:15 +0100)]
Merge "Updated FindGSL.cmake to version written by me." into release-4-6

11 years agoMerge "PME-only counters are now reset with -maxh -resethway" into release-4-6
Mark Abraham [Tue, 12 Feb 2013 19:58:14 +0000 (20:58 +0100)]
Merge "PME-only counters are now reset with -maxh -resethway" into release-4-6

11 years agoUpdated FindGSL.cmake to version written by me.
Christoph Junghans [Wed, 16 Jan 2013 21:25:52 +0000 (14:25 -0700)]
Updated FindGSL.cmake to version written by me.

relates to #815

Change-Id: I323f113b4016ef232124fcdcc985d0526bc8a880

11 years agoMerge "fixed bug with sd integrator and OpenMP threading" into release-4-6
Mark Abraham [Tue, 12 Feb 2013 19:56:14 +0000 (20:56 +0100)]
Merge "fixed bug with sd integrator and OpenMP threading" into release-4-6

11 years agoMerge "Fix CUDA_HOST_COMPILER flag name" into release-4-6
Mark Abraham [Tue, 12 Feb 2013 19:43:02 +0000 (20:43 +0100)]
Merge "Fix CUDA_HOST_COMPILER flag name" into release-4-6

11 years agoMerge "Remove duplicated clang section"
Mark Abraham [Tue, 12 Feb 2013 15:13:14 +0000 (16:13 +0100)]
Merge "Remove duplicated clang section"

11 years agoMerge "Manual reformatting in preparation for uncrustify."
Mark Abraham [Tue, 12 Feb 2013 15:11:50 +0000 (16:11 +0100)]
Merge "Manual reformatting in preparation for uncrustify."

11 years agoMerge "Fix gmxcheck target"
Mark Abraham [Tue, 12 Feb 2013 15:07:40 +0000 (16:07 +0100)]
Merge "Fix gmxcheck target"

11 years agoManual reformatting in preparation for uncrustify.
Teemu Murtola [Sun, 10 Feb 2013 19:04:42 +0000 (21:04 +0200)]
Manual reformatting in preparation for uncrustify.

Reindent example code blocks in Doxygen comments to align as uncrustify
would align them.  New enough Doxygen should be able to strip the leading
whitespace from the blocks.  Disable uncrustify indentation in one
static data declaration where uncrustify can't keep the original manual
indentation.

Related to #845.

Change-Id: I585852db6fc08557ca55cba41a1349533e1b9c4d

11 years agouse legacy CUDA non-bonded kernels only on Fermi
Szilárd Páll [Wed, 16 Jan 2013 20:05:28 +0000 (21:05 +0100)]
use legacy CUDA non-bonded kernels only on Fermi

This solves a remainig todo as well as clarifies some variable naming
and documentation.

Change-Id: Ifad80cb7e740d1329a9c84df992d899400efeca2

11 years agoMerge "Typo fix" into release-4-6
Roland Schulz [Sat, 9 Feb 2013 18:18:10 +0000 (19:18 +0100)]
Merge "Typo fix" into release-4-6

11 years agoTypo fix
Mark Abraham [Sat, 9 Feb 2013 17:20:36 +0000 (18:20 +0100)]
Typo fix

Change-Id: Id5bb7297adbc38909aa184b6d6a222aa719f90be

11 years agoFix CUDA_HOST_COMPILER flag name
Roland Schulz [Fri, 8 Feb 2013 20:09:06 +0000 (15:09 -0500)]
Fix CUDA_HOST_COMPILER flag name

Fixes #1143

Change-Id: If34f27aa8fa73420ac85d4ec6997e8ebe78261d4

11 years agoRemove duplicated clang section
Roland Schulz [Fri, 8 Feb 2013 19:35:58 +0000 (14:35 -0500)]
Remove duplicated clang section

Change-Id: I3f05c1c1966ad78519072063faf24512c8a76c1c

11 years agoRemove dummy.cpp
Roland Schulz [Fri, 8 Feb 2013 18:22:15 +0000 (13:22 -0500)]
Remove dummy.cpp

Not needed in master, because the sole library (libgromacs) is
guaranteed to be linked with the C++ compiler.

Change-Id: I003887fe549a59760845282ef1027883619e03be

11 years agoMerge "added back cuda.h includes to fix missing CUDA_VERSION" into release-4-6
Mark Abraham [Fri, 8 Feb 2013 15:16:30 +0000 (16:16 +0100)]
Merge "added back cuda.h includes to fix missing CUDA_VERSION" into release-4-6

11 years agoMerge "Fixed flop counting for generic cg/adress kernels" into release-4-6
Mark Abraham [Fri, 8 Feb 2013 15:16:17 +0000 (16:16 +0100)]
Merge "Fixed flop counting for generic cg/adress kernels" into release-4-6

11 years agoMerge "cmake: fixed typo in template CMakeLists.txt" into release-4-6
Mark Abraham [Fri, 8 Feb 2013 15:16:05 +0000 (16:16 +0100)]
Merge "cmake: fixed typo in template CMakeLists.txt" into release-4-6

11 years agofixed bug with sd integrator and OpenMP threading
Berk Hess [Wed, 6 Feb 2013 15:21:24 +0000 (16:21 +0100)]
fixed bug with sd integrator and OpenMP threading

This could cause small error in the integration or a segv.
This bug was introduced with d120c370
Fixes #1138

Change-Id: I4ae2c0c857cb68e796d01c5b2e0ea42beaf13d4a

11 years agoMerge "Documented what GMX_CPU_ACCELERATION really means" into release-4-6
Christoph Junghans [Tue, 5 Feb 2013 23:52:49 +0000 (00:52 +0100)]
Merge "Documented what GMX_CPU_ACCELERATION really means" into release-4-6