alexxy/gromacs.git
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 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 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 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 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

11 years agoMerge "improved load balancing on the GPU" into release-4-6
Mark Abraham [Tue, 5 Feb 2013 19:27:04 +0000 (20:27 +0100)]
Merge "improved load balancing on the GPU" into release-4-6

11 years agoDocumented what GMX_CPU_ACCELERATION really means
Mark Abraham [Tue, 5 Feb 2013 19:00:46 +0000 (20:00 +0100)]
Documented what GMX_CPU_ACCELERATION really means

Discussion arose in I0848f2e570daef881368a45d4a429a3f80fde81b

Change-Id: Ib99ab86ff7d8acf913121decb00756f47327f046

11 years agoimproved load balancing on the GPU
Berk Hess [Fri, 1 Feb 2013 09:22:09 +0000 (10:22 +0100)]
improved load balancing on the GPU

For the GPU, small pair list entries are now sorted to the end.
The improves performance by 5 to 20%.

Change-Id: I25e5efeb813ad5dde48f0955366519db699f21a2

11 years agofixed segv in init_forcerec with fr->hwinfo=NULL
Berk Hess [Mon, 4 Feb 2013 12:44:31 +0000 (13:44 +0100)]
fixed segv in init_forcerec with fr->hwinfo=NULL

This caused genion and g_disre to segv with the Verlet scheme.
Fixes #1136

Change-Id: I9059b0e108c80ea86567a568e9f488b4db500eee

11 years agoFixed flop counting for generic cg/adress kernels
Christoph Junghans [Sat, 2 Feb 2013 03:02:04 +0000 (20:02 -0700)]
Fixed flop counting for generic cg/adress kernels

Change-Id: I95f2a68a0de64f479820143fdba09ea09805fa93

11 years agocmake: fixed typo in template CMakeLists.txt
Christoph Junghans [Sat, 2 Feb 2013 01:46:46 +0000 (18:46 -0700)]
cmake: fixed typo in template CMakeLists.txt

* prevented build after make clean, when build was used before

Change-Id: I0ba88b36752801c3d492d46c71327fb966edb508

11 years agoFix gmxcheck target
Roland Schulz [Wed, 30 Jan 2013 20:50:45 +0000 (15:50 -0500)]
Fix gmxcheck target

"links" and "tests" target were missing as dependency. Unit tests
were only run if regressiontests were available too.

Introduced by 03d5ecd55fa13e68e6

Change-Id: Ia3ab136622b2c012aebc58fed0abcb63a58a4e31

11 years agoAdResS: fixes bug in the neighbour list routine
Sebastian Fritsch [Mon, 28 Jan 2013 19:49:40 +0000 (20:49 +0100)]
AdResS: fixes bug in the neighbour list routine

* coarse-grained interactions were not excluded in the all-atom region
* Some atomistic interactions were not excluded in the coarse-grained region

Change-Id: Ib4ac145722367cf139ad3d23b86f0de1ca9d6caf

11 years agofixed copyright of adress kernel
Christoph Junghans [Fri, 18 Jan 2013 21:46:05 +0000 (14:46 -0700)]
fixed copyright of adress kernel

Change-Id: I21816431b4f77210a93dedc7a265c10f074502c4

11 years agoMerge "Moved a few comments back into position" into release-4-6
Christoph Junghans [Fri, 25 Jan 2013 21:06:55 +0000 (22:06 +0100)]
Merge "Moved a few comments back into position" into release-4-6

11 years agoadded back cuda.h includes to fix missing CUDA_VERSION
Szilard Pall [Thu, 24 Jan 2013 01:27:09 +0000 (02:27 +0100)]
added back cuda.h includes to fix missing CUDA_VERSION

nvcc doesn't define its version identity macro, CUDA_VERSION, by default,
but this needs to be pulled in through cuda.h. Quite weird and
non-standard behavior, but as swithing to legacy kernels and certain
kernel optimizations are broken now, to fix these we need to include
cuda.h.

Change-Id: I4836335e97a287e18e595c160819db2e46a8d798

11 years agoMerge "Illegal acceleration defaulted to QPX" into release-4-6
Mark Abraham [Tue, 22 Jan 2013 18:17:52 +0000 (19:17 +0100)]
Merge "Illegal acceleration defaulted to QPX" into release-4-6

11 years agoMerge "Re-licenced FindGROMACS.cmake (was written by me)" into release-4-6
Mark Abraham [Tue, 22 Jan 2013 16:41:00 +0000 (17:41 +0100)]
Merge "Re-licenced FindGROMACS.cmake (was written by me)" into release-4-6

11 years agoIllegal acceleration defaulted to QPX
Roland Schulz [Mon, 21 Jan 2013 21:34:35 +0000 (16:34 -0500)]
Illegal acceleration defaulted to QPX

Change-Id: I1bfd9c7bc7bac68944fd912bda84e8bd03af1fbc

11 years agoMerge "Fix TOUPPER usage" into release-4-6
Mark Abraham [Tue, 22 Jan 2013 16:40:12 +0000 (17:40 +0100)]
Merge "Fix TOUPPER usage" into release-4-6

11 years agoMerge "Updated html manual to 4.6" into release-4-6
Mark Abraham [Tue, 22 Jan 2013 16:39:55 +0000 (17:39 +0100)]
Merge "Updated html manual to 4.6" into release-4-6

11 years agoMerge "added missing cleanup of some nbnxn_cuda data" into release-4-6
Mark Abraham [Tue, 22 Jan 2013 15:31:01 +0000 (16:31 +0100)]
Merge "added missing cleanup of some nbnxn_cuda data" into release-4-6

11 years agoFix TOUPPER usage
Roland Schulz [Mon, 21 Jan 2013 21:12:52 +0000 (16:12 -0500)]
Fix TOUPPER usage

The last argument is the variable name, thus it shouldn't be ${..}.
Caused compile error when setting accleration to sse2, because
TOUPPER wasn't done correctly.

Change-Id: I0087a6cf3c9a160862757f561b5782c0ac253df8

11 years agoUpdated html manual to 4.6
Roland Schulz [Sun, 20 Jan 2013 00:51:02 +0000 (19:51 -0500)]
Updated html manual to 4.6

Change-Id: I2d66c41c56a44fddc31bba823a264795c07d078a

11 years agoMoved a few comments back into position
Carsten Kutzner [Tue, 22 Jan 2013 12:00:50 +0000 (13:00 +0100)]
Moved a few comments back into position

No code changes whatsoever - just formatted some multi-line comments
which uncrustify could not understand.

Change-Id: I85e2f58681c61be937315414dc2a708974b027f8

11 years agoMerge "Set version info for 4.6.x release series" into release-4-6
Christoph Junghans [Mon, 21 Jan 2013 20:44:02 +0000 (21:44 +0100)]
Merge "Set version info for 4.6.x release series" into release-4-6

11 years agoMerge release-4-6 into master
Roland Schulz [Mon, 21 Jan 2013 01:12:10 +0000 (20:12 -0500)]
Merge release-4-6 into master

Conflicts:
CMakeLists.txt (just version)
src/gmxlib/confio.c (just whitspace)

Moved gmx_thread_affinity.[ch]. Removed from it the visibility.

Doesn't include copyright and unrustify commits

Made by:
git merge -s ours 95761d63fb705b4334acbe2ce6ae2f384b4bcadb
git merge 66ff3d6e8bf65cce7b3008e65719e333da5e83e3
git merge -s ours 3339ffd6be2736541b928446de39ce51293449c6
git merge origin/release-4-6
tree=$(git log -1 HEAD --pretty=%T)
git reset --hard $(git cat-file commit HEAD | sed '1,/^$/d' | \
    git commit-tree $tree -p 03d5ecd -p bb6ea98)

Change-Id: Ibce56da97e270cf3f399cfdc89684917afc96a33

11 years agoMerge release-4-6 into master
Roland Schulz [Sun, 20 Jan 2013 23:41:51 +0000 (18:41 -0500)]
Merge release-4-6 into master

Conflicts:
CMakeLists.txt (OPENMM, regressiontests)
COPYING (OpenMM, renumbering)
cmake/FortranCInterface.cmake
include/CMakeLists.txt (F77, not needed)
include/disre.h (rename detection failed - no conflict)
include/types/iteratedconstraints.h (rename detection failed -
     no conflict)

both here and src/kernel new - only contrib kep:
src/contrib/md_openmm.c
src/contrib/md_openmm.h
src/contrib/openmm_wrapper.cpp
src/contrib/openmm_wrapper.h
src/kernel/md_openmm.c
src/kernel/openmm_wrapper.cpp
src/kernel/openmm_wrapper.h
src/programs/mdrun/md_openmm.c
src/programs/mdrun/openmm_wrapper.cpp
src/programs/mdrun/openmm_wrapper.h
src/programs/mdrun/runner.c

src/gmxlib/rando.c (rename detection failed - no conflict)
src/gromacs/gmxlib/main.c
src/gromacs/gmxlib/string2.c
src/gromacs/gmxlib/tpxio.c (incrememted to 92 - updated if)
src/gromacs/gmxlib/vmdio.c
src/gromacs/legacyheaders/domdec.h (removed export)
src/gromacs/legacyheaders/gmx_omp_nthreads.h
src/gromacs/legacyheaders/main.h
src/gromacs/legacyheaders/names.h (removed export)
src/gromacs/linearalgebra/eigensolver.c
src/gromacs/linearalgebra/gmx_arpack.c
src/gromacs/linearalgebra/gmx_arpack.h
src/gromacs/linearalgebra/gmx_lapack.h (removed #define F77)
src/kernel/CMakeLists.txt (OpenMM changes moved to
       src/programs/mdrun/CMakeLists.txt)
src/tools/CMakeLists.txt
src/tools/gmx_bar.c
src/tools/gmx_covar.c
tests/CMakeLists.txt (fixed paths)

Extra changes:
src/config.h.cmakein (removed double gmx_header_config.h include)
src/gromacs/CMakeLists.txt (removed OpenMM )
        src/gromacs/linearalgebra/gmx_blas.h (removed #define F77)

Change-Id: I04fb402d503c8d5d97ee364c598e0f474956052f

11 years agoRe-licenced FindGROMACS.cmake (was written by me)
Christoph Junghans [Fri, 18 Jan 2013 21:00:56 +0000 (14:00 -0700)]
Re-licenced FindGROMACS.cmake (was written by me)

Change-Id: If6a94c561933cbc6db9d47d5a364f75e7fdf5e13

11 years agoFix AVX double compile error
Roland Schulz [Sat, 19 Jan 2013 06:42:22 +0000 (01:42 -0500)]
Fix AVX double compile error

Introduced by fa181964de6c9

Note that this change will be included in the 4.6 release, therefore
this commit will effectively be the one that the 4.6 release is made
from instead of the parent.

Change-Id: Ieeede7d15109f2c44fcd2e0ef59eff2944206eab

11 years agoSet version info for 4.6.x release series
Mark Abraham [Wed, 16 Jan 2013 01:08:33 +0000 (02:08 +0100)]
Set version info for 4.6.x release series

Change-Id: I31378a7ef5d9b7333aa91f076c2a792072d304f9

11 years agoNew major release: 4.6
Mark Abraham [Wed, 16 Jan 2013 01:06:19 +0000 (02:06 +0100)]
New major release: 4.6

* note -dev gets stripped off by the release manager by hand before
  building tarballs

Change-Id: I36fe0b8ec18c7d6f09da852e216fdf6d0a250bb7

11 years agoAddendum for expanded ensemble options plus formatting fixes.
Michael Shirts [Wed, 16 Jan 2013 14:03:30 +0000 (09:03 -0500)]
Addendum for expanded ensemble options plus formatting fixes.

Change-Id: I4547fe74064593c939fcb292ccee056b49b292af

11 years agoMerge release-4-5-patches into release-4-6
Roland Schulz [Fri, 18 Jan 2013 20:25:05 +0000 (15:25 -0500)]
Merge release-4-5-patches into release-4-6

Conflicts:
src/gmxlib/confio.c (whitespace only)

286575f0cd68 commit is not needed and is ignored
by this merge.

Change-Id: I7c4aabd918384aadbf6108501023ca77e019d6c1

11 years agoFix typo
Roland Schulz [Fri, 18 Jan 2013 05:12:58 +0000 (00:12 -0500)]
Fix typo

Change-Id: Iba23e5cea570b2a283a19290774fe21b0e625cab

11 years agoCode beautification with uncrustify
Roland Schulz [Fri, 18 Jan 2013 01:07:27 +0000 (20:07 -0500)]
Code beautification with uncrustify

We are going to try to keep our eyeballs from bleeding when we
read prehistoric code from this project while maintaining it.
So we need a point in time where release-4-6 gets beautiful
in tandem with master. That time is now.

At some point we hope to be able to do this automatically so
we can have reviewers concentrate on code quality and not
formatting trivia. But we have to do a whole-of-project
fix first.

Refs #845

Change-Id: I8e99228cc118f75c0831e8297c171fcbbabc8f73

11 years agoAdd colon after macro to help uncrustify
Roland Schulz [Fri, 18 Jan 2013 17:36:17 +0000 (12:36 -0500)]
Add colon after macro to help uncrustify

Without the colon uncrustify adds braces incorrectly

Change-Id: Ib361762c1b252de2b4a274c2be44f1fecb31b7da

11 years agothread affinity now uses some topology information
Berk Hess [Tue, 15 Jan 2013 09:29:43 +0000 (10:29 +0100)]
thread affinity now uses some topology information

The order of logical cores on x86 is hardware and software dependent.
The cpuid topology reports this and this information is now used.
The mdrun -pinht option is generalized for SMT to -pinstride.
The mdrun -pinoffset option is now in logical (iso phyiscal) cores.
Thread-MPI no longer sets affinity, it's now all done in one place.
The option -pin is now an enum, default auto: only on when using all
cores and when no external affinity has been set.
A big NOTE is printed with auto when no pinning is used.
Option -pin on can now override thread affinity set outside mdrun.
Fixes #1122
All thread affinity code has been moved from runner.c to
gmx_thread_affinity.c.
Updated the mdrun manual for pinning also active without OpenMP.

Change-Id: Ibf0fe5882688de80c223640502c68e6170d4d044

11 years agoFixing copyright issues and code contributors
Mark Abraham [Wed, 16 Jan 2013 00:55:31 +0000 (01:55 +0100)]
Fixing copyright issues and code contributors

Added Mark Abraham, Christoph Junghans and
Carsten Kutzner to the list of code contributors,
per discussion with Erik and Berk.

* Now that 2013 is a copyrightable year, we need to
  assert that copyright
* No, we can't just say 1995-2013, unless we also say
  that every year in the range is a copyrightable year. I'm
  not interested in demonstrating after the fact that this is
  true for all the years before I was born. So we may as
  well start listing explicit years.
  Please read "howto (L)GPL" guides before arguing :-)
* Removed erroneous GROMACS copyright statements on
  unmodified FindBLAS.cmake,FindLAPACK.cmake,
  FindOpenMP.cmake and slightly modified FindGit.cmake
* Note Szilard's uncertainty about the origin of
  vectype_ops.cuh and thus its copyright status
* TODO for 4.6.1 deal with material in admin and scripts

References #818

Change-Id: I946200651de7f05c2ff292fcded8f33fca7b356f

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 agoFix reading of g96 title
Roland Schulz [Fri, 18 Jan 2013 06:25:50 +0000 (01:25 -0500)]
Fix reading of g96 title

Change-Id: I5b077ef2f581d704848b658c588636c7510d3c38

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 agoadded missing cleanup of some nbnxn_cuda data
Szilárd Páll [Wed, 16 Jan 2013 23:57:42 +0000 (00:57 +0100)]
added missing cleanup of some nbnxn_cuda data

While the content of the data structures the pointers in nbnxn_cuda
point to was freed up, the data structures themselves were not.

Change-Id: Icb1c5da9867ee252e2a6dadf7f164d7bb4f41a26

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 agoMerge "Fix trjconv -sub with .trr files" into release-4-5-patches
Mark Abraham [Thu, 17 Jan 2013 21:10:40 +0000 (22:10 +0100)]
Merge "Fix trjconv -sub with .trr files" into release-4-5-patches

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 agoMerge "Added check for valid wall_atomtype in .mdp" into release-4-5-patches
Roland Schulz [Thu, 17 Jan 2013 18:01:52 +0000 (19:01 +0100)]
Merge "Added check for valid wall_atomtype in .mdp" into release-4-5-patches

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 agoAdded check for valid wall_atomtype in .mdp
Mark Abraham [Tue, 15 Jan 2013 17:09:31 +0000 (18:09 +0100)]
Added check for valid wall_atomtype in .mdp

Otherwise, mdrun would dump core when the garbage got dereferenced.

Note that this does not need to be merged into release-4-6, because
c7a82654 already fixes it.

Fixes #700

Change-Id: I39f440595f7b112d4f01b5e32218ec45a2a97370

11 years agoMerge release-4-6 into master
Roland Schulz [Tue, 15 Jan 2013 21:00:15 +0000 (16:00 -0500)]
Merge release-4-6 into master

Ontop of resolving conflicts:
- Removed any newly added GMX.*EXPORT
  (no visibility yet in master)
- Adapted gmxTestCXX11.cmake to the new approach of setting flags
  without caching
- Removed deleted g_dih from symlinking and legacymodules.cpp
- Fix gmx_cpuid.c (also part of I0ad9ca77b)

Changes not applied
- Template building (c22f43f2932c0332c939cfc44)
- Removed libmd renamed (3f231be160c46)

Conflicts:
CMakeLists.txt (mostly easy - moved comment about
    Windows and BUILD_SHARED_LIBS, and changes related to
            gmxTestCXX11)
cmake/gmxCFlags.cmake
include/nbsearch.h (only Export ignored)
include/trajana.h (only Export ignored)
share/template/CMakeLists.txt (changes not applied)
src/gmxlib/CMakeLists.txt (changes not applied)
src/gmxlib/cuda_tools/copyrite_gpu.cu (moved to src/gromacs)
src/gmxlib/gpu_utils/CMakeLists.txt (only exports - ignored)
src/gromacs/legacyheaders/edsam.h
src/gromacs/legacyheaders/gmx_ana.h
src/gromacs/legacyheaders/gmx_cpuid.h
src/gromacs/libgromacs.pc.cmakein
src/gromacs/mdlib/edsam.c
src/gromacs/mdlib/forcerec.c
src/gromacs/selection/compiler.cpp
src/kernel/CMakeLists.txt
src/mdlib/CMakeLists.txt (ignored Export&rename)
src/mdlib/libmd.pc.cmakein (only rename - ignored)
src/mdlib/nbnxn_cuda/CMakeLists.txt (only Export ignored)
src/tools/CMakeLists.txt
src/tools/gmx_dih.c
src/tools/gmx_sans.c

Change-Id: I28541d3c871feb7261c685793b36045e1806014d

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