alexxy/gromacs.git
11 years agoMerge "Removes unused files" into release-4-6
David van der Spoel [Fri, 16 Nov 2012 21:31:03 +0000 (22:31 +0100)]
Merge "Removes unused files" into release-4-6

11 years agoSSE2 single-precision kernels
Erik Lindahl [Tue, 13 Nov 2012 22:21:13 +0000 (23:21 +0100)]
SSE2 single-precision kernels

New single-precision x86 kernels rewritten to use intrinsics
instead of raw assembly. SSE2 is now our lowest-supported
accelerated instruction set on x86. We generate kernels for
the same interaction choices as the plain c kernels, but
have not enabled Buckingham interactions SSE kernels since
that would generate a whole lot more kernels that would only
be use in rare circumstances. The neighborsearching routine
has also been updated to optionally generate lists that
are padded up to the simd width, which is set by each
kernel when we initialize the neighborlist.

Change-Id: Ic51078e10e7f1f29af3d33e256177806ec208646

11 years agoRemoves unused files
Roland Schulz [Thu, 15 Nov 2012 21:27:42 +0000 (16:27 -0500)]
Removes unused files

These files are never compiled

Change-Id: I5ccb808b4021b3c081b947ff3a559bb798babbed

11 years agoreduced the cost of the nbnxn OpenMP nb-force reduction
Berk Hess [Wed, 14 Nov 2012 10:10:23 +0000 (11:10 +0100)]
reduced the cost of the nbnxn OpenMP nb-force reduction

The cost of the nbnxn non-bonded force reduction, used with OpenMP
on the CPU, increased linearly with the number of OpenMP threads.
Now blocks of this array are only reduced when a thread writes
forces to it.

Change-Id: I06acf772b7951ad3166d22be2e5876e3e5084bc0

11 years agoMerge "Test that compiling and linking of AVX works" into release-4-6
Christoph Junghans [Thu, 15 Nov 2012 22:24:35 +0000 (23:24 +0100)]
Merge "Test that compiling and linking of AVX works" into release-4-6

11 years agoVerify that FFTW can be used with shared libraries
Roland Schulz [Sat, 10 Nov 2012 12:00:52 +0000 (07:00 -0500)]
Verify that FFTW can be used with shared libraries

Fixes #740

Change-Id: If55f9bde72b1b2ce783c2a86a9bf0170a159c266

11 years agofixed incorrect 1-4 energies with OpenMP + energy groups
Berk Hess [Thu, 15 Nov 2012 10:19:18 +0000 (11:19 +0100)]
fixed incorrect 1-4 energies with OpenMP + energy groups

The OpenMP bonded thread data structure allocated too few energy group
elements with more than 1 energy group. This would lead to incorrect
1-4 interaction energies when atoms beyond the first energy group
were involved in 1-4 interactions (but sampling itself was correct).
Potentially this could also lead to memory corruption.
All this could only happen with more than 1 OpenMP thread.

Change-Id: Ib6b91862eaaddaafc0c609961219e01c7be0f9eb

11 years agoFindFFTW: Keep checking pkg_config until fftw is found
Roland Schulz [Wed, 14 Nov 2012 18:54:12 +0000 (13:54 -0500)]
FindFFTW: Keep checking pkg_config until fftw is found

Prior pkg_config didn't work when PKG_CONFIG_PATH was changed
after initial cmake run.

Change-Id: I7c067bdb634577c7847421f187b4893aa52ff511

11 years agofixed nbnxn x86 SIMD non-bonded performance regression
Berk Hess [Wed, 14 Nov 2012 15:23:59 +0000 (16:23 +0100)]
fixed nbnxn x86 SIMD non-bonded performance regression

Commit f40969c2 broke the LJ combination detection,
which effectively made all runs use the full combination rule
matrix for x86 SIMD kernels. This is now corrected.

Change-Id: I1073801546fde23e6a53199120246697a7c61b5f

11 years agoRemoved some unnecessary instructions, and fixed a bug in GB kernel
Erik Lindahl [Tue, 13 Nov 2012 14:50:03 +0000 (15:50 +0100)]
Removed some unnecessary instructions, and fixed a bug in GB kernel

The force-only kernels do not have to load all parts of the table,
which saves a few instructions. This patch also fixes a small error in the
chain-rule force introduced in the new generalized-born kernels. There
will soon be automatic tests for the GB kernels, but not today...

Change-Id: Ib9f8b2294ba98bdcbc040f6563a2889c3a9f47a0

11 years agoTest that compiling and linking of AVX works
Roland Schulz [Sun, 11 Nov 2012 22:52:17 +0000 (17:52 -0500)]
Test that compiling and linking of AVX works

Older assemblers don't have support for AVX

Related to #1021

Change-Id: If8da47f9458c592d5408c7322280ffacce81145d

11 years agoAllow to disable usage of rdtscp
Roland Schulz [Wed, 31 Oct 2012 02:50:34 +0000 (22:50 -0400)]
Allow to disable usage of rdtscp

The usage of rdtscp couldn't be overwritten by the user, which
which is a problem if the build host supports it but the execution
host doesn't. Adding flag GMX_DISTRIBUTABLE_BUILD which disables
rdtscp and can in the future be used for any other features
which are non-critical and makes binary non-distributable.

Change-Id: I14ee6874334287537dd265bc4217e07ee3c8818d

11 years agoMerge "Backport ThreadMPI.cmake version from master" into release-4-6
Roland Schulz [Mon, 12 Nov 2012 19:16:44 +0000 (20:16 +0100)]
Merge "Backport ThreadMPI.cmake version from master" into release-4-6

11 years agoMerge "nbnxn CPU force buffer reduction now uses SIMD" into release-4-6
Roland Schulz [Mon, 12 Nov 2012 18:40:28 +0000 (19:40 +0100)]
Merge "nbnxn CPU force buffer reduction now uses SIMD" into release-4-6

11 years agoBackport ThreadMPI.cmake version from master
Roland Schulz [Sun, 11 Nov 2012 00:49:40 +0000 (19:49 -0500)]
Backport ThreadMPI.cmake version from master

Allows to compile small part of ThreadMPI (e.g. for set_affinity)

Change-Id: I4b483a06fccf801399544c753487402ca5eec3a0

11 years agonbnxn CPU force buffer reduction now uses SIMD
Berk Hess [Mon, 12 Nov 2012 15:09:22 +0000 (16:09 +0100)]
nbnxn CPU force buffer reduction now uses SIMD

The reduction of the non-bonded OpenMP force buffers on the CPU used
a pattern with a high cache-miss rate. This has been improved and
an x86 SIMD reduction function has been added. The old reduction code
has not been removed (yet), as it could be faster in some cases.

Change-Id: Icc5065b976321d34055f9b44caedf3008fe3ec58

11 years agoFixes #1020 options in g_enemat
David van der Spoel [Sun, 11 Nov 2012 12:55:17 +0000 (13:55 +0100)]
Fixes #1020 options in g_enemat

Disentangled the options for selecting energy terms.

Change-Id: I8b2979a32e75a9e6a0eb641c0965089db5318f69

11 years agoFix FMA4 compile for GCC and MSVC
Roland Schulz [Sun, 11 Nov 2012 04:49:24 +0000 (23:49 -0500)]
Fix FMA4 compile for GCC and MSVC

GCC requires -mfma4 and MSVC requires intrin.h

Fixes #1023

Change-Id: I770a9d7fc5d9b0736042ea01ed0ed0d77aac95c6

11 years agoMerge "Fix broken manual formatting" into release-4-6
Roland Schulz [Sat, 10 Nov 2012 22:02:54 +0000 (23:02 +0100)]
Merge "Fix broken manual formatting" into release-4-6

11 years agoFix broken manual formatting
Mark Abraham [Sat, 10 Nov 2012 18:35:00 +0000 (19:35 +0100)]
Fix broken manual formatting

Change-Id: I7d03400c0c8b0527f2d3db185b8bd55f88cd8bba

11 years agoRemove obsolete GMX_THREAD_SHM_FDECOMP.
Teemu Murtola [Sat, 10 Nov 2012 04:58:24 +0000 (06:58 +0200)]
Remove obsolete GMX_THREAD_SHM_FDECOMP.

This macro was never set, and the remaining code behind #ifdefs was
broken.  The defines were removed from the kernels with the new
generator.  The only place where this macro remains after this change is
in obsolete kernels, and should get removed from there as well when they
are changed to the new kernel scheme.

Change-Id: Ifea0e6669791ecf3fecc2cfdec81d068e7507c63

11 years agoFix component for libcudart
Roland Schulz [Fri, 9 Nov 2012 19:10:31 +0000 (14:10 -0500)]
Fix component for libcudart

Change-Id: Ie63bbe5d9bab2f5f0c1231ddc03a7f51ffc86ffb

11 years agoRemoved old (now unused) bluegene kernels.
Erik Lindahl [Fri, 9 Nov 2012 10:27:09 +0000 (11:27 +0100)]
Removed old (now unused) bluegene kernels.

These will be moved to a kernel-generator based alternative
instead that provides SIMD instructions for more BG kernels.

Change-Id: Id53ad928f5d8e7720b6774b4f2a7a1a039d8f20d

11 years agoRemoved unused old kernel generator
Erik Lindahl [Fri, 9 Nov 2012 10:26:24 +0000 (11:26 +0100)]
Removed unused old kernel generator

Change-Id: I74f52245f8d720e1702ae9aaaa0fe675a69b615e

11 years agoRemoval of stale Fortran/Power6 kernels
Erik Lindahl [Fri, 9 Nov 2012 10:22:59 +0000 (11:22 +0100)]
Removal of stale Fortran/Power6 kernels

These Power6 kernels are no longer used in the code.
Based on benchmarks, we will decide whether a Fortran
version is necessary before the final 4.6 release.

Change-Id: Iab5341ce9cc99e2498b648d3a598c11503d87711

11 years agoRemoval of stale Fortran kernels
Erik Lindahl [Fri, 9 Nov 2012 10:20:27 +0000 (11:20 +0100)]
Removal of stale Fortran kernels

These Fortran kernels are no longer used in the code.
Based on benchmarks, we will decide whether to provide
new generated Fortran kernels (possibly for ia64,
Power and/or BlueGene architectures) before the final
Gromacs 4.6 release. I would prefer to keep the Fortran
detection code in CMake until we make that call.

Change-Id: Ia73fbfe968983289bba8896f8b84fdfb262d9105

11 years agoMerge "only use CPU_COUNT if it's available" into release-4-6
Kasson [Fri, 9 Nov 2012 02:42:29 +0000 (03:42 +0100)]
Merge "only use CPU_COUNT if it's available" into release-4-6

11 years agoonly use CPU_COUNT if it's available
Szilard Pall [Fri, 9 Nov 2012 01:38:37 +0000 (02:38 +0100)]
only use CPU_COUNT if it's available

The external affinity detection implemented by a6e1181 uses CPU_COUNT
from sched.h for a consistency check, but this macro is only available
with glibc 2.6 and later. Hence, a check for this macro was needed to
avoid issues with glibc <2.6

Change-Id: I6088972e9a5aabefb2b3fa3b38ac8d4ba32662f7

11 years agoalso preferentiate .lib with GMX_PREFER_STATIC_LIBS
Szilard Pall [Thu, 8 Nov 2012 19:30:18 +0000 (20:30 +0100)]
also preferentiate .lib with GMX_PREFER_STATIC_LIBS

On Mac OS X GMX_PREFER_STATIC_LIBS was enabled by caca171. On Mac OS X
.lib is also used as suffix for static archives (as well as .a), this
commits adds .lib to the preferred library suffixes.

Change-Id: I39e8df212355f6b199de4f93abd29275babdfe96

11 years agoMerge "Fixed bug in the new switch-modified interactions in C kernels" into release-4-6
Roland Schulz [Thu, 8 Nov 2012 23:08:06 +0000 (00:08 +0100)]
Merge "Fixed bug in the new switch-modified interactions in C kernels" into release-4-6

11 years agoMerge "auto-set nvcc host compiler with FindMPI detection" into release-4-6
Christoph Junghans [Thu, 8 Nov 2012 23:07:50 +0000 (00:07 +0100)]
Merge "auto-set nvcc host compiler with FindMPI detection" into release-4-6

11 years agoMerge "Relocated logic of simple-vs-GPU Ewald table generation" into release-4-6
Christoph Junghans [Thu, 8 Nov 2012 23:07:12 +0000 (00:07 +0100)]
Merge "Relocated logic of simple-vs-GPU Ewald table generation" into release-4-6

11 years agoFixed bug in the new switch-modified interactions in C kernels
Erik Lindahl [Thu, 8 Nov 2012 22:27:15 +0000 (23:27 +0100)]
Fixed bug in the new switch-modified interactions in C kernels

Fixed an error in the switch application formula, and another
table-related bug for PME interactions using the switch modifier
just introduced when only forces were calculated. This will not
have affected any other code unless you dug in the source and
tested the new switch modifiers the last 12h.

Change-Id: Ie323f45f2ce60ff1aacc2cccd9b395826f39cdf8

11 years agoAllow rcoulomb=rlistlong for PME with nstcalclr=1
Erik Lindahl [Thu, 8 Nov 2012 19:08:11 +0000 (20:08 +0100)]
Allow rcoulomb=rlistlong for PME with nstcalclr=1

This patch allows mdp files to set a VdW cutoff shorter than the
coulomb cutoff, even when not using potential modifiers for PME.
While this might come in handy in some cases, it is also needed for
the new kernel tests.

Change-Id: I4bef433a47a685f4f839b12b473047057608354d

11 years agoRelocated logic of simple-vs-GPU Ewald table generation
Mark Abraham [Wed, 7 Nov 2012 14:49:06 +0000 (15:49 +0100)]
Relocated logic of simple-vs-GPU Ewald table generation

I think this approach is cleaner than passing multiple arguments
down a call stack from pme_load_bal().

Change-Id: I45655312c5a9866e6fce73049e72acd70c184398

11 years agoInfrastructure for new group kernels, and new C kernels
Erik Lindahl [Sun, 28 Oct 2012 18:45:52 +0000 (14:45 -0400)]
Infrastructure for new group kernels, and new C kernels

This patch implements a new selection mechanism for nonbonded
kernels, as well as modifications of the neighborsearching to allow
long-range lists to be used every step (for rlist!=rcoul!=rvdw),
which is necessary for PP-PME load balancing. We can also evaluate
long-range interactions at steps that are arbitrary divisors of
nstlist. Kernels are now selected from text strings describing
desired options, which makes it much easier to have different
kernels for different architectures and gradually add kernels for
commonly used cases without implementing all combinations of
features. There is also a new kernel generator and flexible
preprocessor written in python. This is only executed by developers,
and the generated kernels are therefor included in the git tree
after discussions. The actual kernels are now written in plain C
with slightly more advanced preprocessor options allowing loops. The
listed (1,4) nonbonded interactions now use their own code rather
than executing a complete kernel call for each pair, which saves
a lot of overhead. The old c kernels have been adapted to continue
working, but addres kernels are disabled by this patch. Subsequent
patches will start adding back the kernels (one per architecture),
and also the addres kernels. The group kernels now support arbitrary
combinations of switch and shift for most interactions (but the
might be run in the generic kernel), and there are new kernels
specifically designed for Ewald direct space interactions as well as
force-only kernels.

Change-Id: Iab142bcc2e6d914ca127b4caa6a07b604549cb13

11 years agoObey DSO standard
Christoph Junghans [Thu, 1 Nov 2012 20:54:35 +0000 (14:54 -0600)]
Obey DSO standard

Compiling the template in recent fedora will lead to:
ld: note: 'sin@@GLIBC_2.2.5' is defined in DSO libm.so, so
try adding it to the linker command line
Hence we move -lm from Libs.private to Libs

Change-Id: I5e2c59bf62f950d06f3c708d22f6d2289babcacf

11 years agoauto-set nvcc host compiler with FindMPI detection
Szilard Pall [Fri, 2 Nov 2012 00:41:18 +0000 (01:41 +0100)]
auto-set nvcc host compiler with FindMPI detection

Distinguish between MPI build that use MPI compiler wrapper and FindMPI
as as in the latter case the CMAKE_C_COMPILER can be used safely as the
CUDA compiler's CPU backend.

Additional minor changes in cmake/gmxManageNvccConfig.cmake:
- added more detailed explanation on some strange things done in order
  to please nvcc;
- bumped icc gcc compatibility version to 4.5 with CUDA <=v4.1;
- added explanation on CUDA code generation;
- typos fixed.

Change-Id: Ia82bc63c129ac897ce88175f919b4f034e7ce665

11 years agodetect externally set CPU affinity
Szilard Pall [Wed, 31 Oct 2012 20:19:53 +0000 (21:19 +0100)]
detect externally set CPU affinity

Try to preserve externally set CPU affinity instead of silently
overriding it. If CPU affinity is set externally, e.g. by taskset or
some OpenMP library we don't check for, disable internal CPU affinity
and warn the user. This only works on Linux as it uses the sched.h CPU
set interface which is GNU feature.

Change-Id: Ie5f292fb1f29e07a3275429688c5d79398564979

11 years agoFix cmake error if compiler starts with blank line
Roland Schulz [Sat, 3 Nov 2012 01:48:36 +0000 (21:48 -0400)]
Fix cmake error if compiler starts with blank line

Change-Id: Id6579e4c7260fe9359ae43f9931662b29a17e7b9

11 years agoMerge "Clarification of mdp_opt, add nstexpand defaults & checks" into release-4-6
Roland Schulz [Tue, 6 Nov 2012 17:57:35 +0000 (18:57 +0100)]
Merge "Clarification of mdp_opt, add nstexpand defaults & checks" into release-4-6

11 years agoMerge "Add option to install libcudart" into release-4-6
Berk Hess [Tue, 6 Nov 2012 16:30:35 +0000 (17:30 +0100)]
Merge "Add option to install libcudart" into release-4-6

11 years agoClarification of mdp_opt, add nstexpand defaults & checks
Michael Shirts [Sat, 27 Oct 2012 03:18:20 +0000 (23:18 -0400)]
Clarification of mdp_opt, add nstexpand defaults & checks

Change-Id: If96973674ba9618256a6454d8f12a3d982ce00e2

11 years agoMerge "don't execute any mpi_info/mpiname in the path" into release-4-6
Berk Hess [Tue, 6 Nov 2012 16:22:16 +0000 (17:22 +0100)]
Merge "don't execute any mpi_info/mpiname in the path" into release-4-6

11 years agoMerge "updated several things related with OpenMP thread count" into release-4-6
Berk Hess [Mon, 5 Nov 2012 21:38:58 +0000 (22:38 +0100)]
Merge "updated several things related with OpenMP thread count" into release-4-6

11 years agoAdd option to install libcudart
Roland Schulz [Sat, 3 Nov 2012 01:50:08 +0000 (21:50 -0400)]
Add option to install libcudart

New option INSTALL_CUDART_LIB installs libcudart and adds it to cpack archive.
Would be good to enable option by default for cpack but I can't find a
way to do so.

Change-Id: I1ce7fe84a9c2c2d9ef0ee0962b871db9fa065607

11 years agoupdated several things related with OpenMP thread count
Berk Hess [Tue, 9 Oct 2012 15:08:42 +0000 (17:08 +0200)]
updated several things related with OpenMP thread count

Removed a gmx_fatal preventing oversubscribing hardware with OpenMP threads.
Proper checks for avoiding partial HT and inconvenient thread count with tMPI.
Automatic switch to pure OpenMP parallelization with <= 4 threads
or <= 12 on Nehalem/Westmere or <= 16 on >=Sandy Bridge.

Change-Id: I5f0fa7c8e5a23cb66833ec9facdbc6d197f82836

11 years agoMerge release-4-5-patches into release-4-6
Roland Schulz [Sat, 3 Nov 2012 19:31:12 +0000 (15:31 -0400)]
Merge release-4-5-patches into release-4-6

Conflicts:
cmake/gmxTestLargeFiles.cmake

Change-Id: I104448f48be0c7b3cd5daa1b5cede3cb9d7f672d

11 years agoReworked version of cmake FFTW detection
Christoph Junghans [Wed, 17 Oct 2012 09:57:32 +0000 (11:57 +0200)]
Reworked version of cmake FFTW detection

Change-Id: I6d83293de760986fc1e1ebe4669520fbd499d7fc

11 years agoMerge all License/COPYING files into one and install it
Roland Schulz [Fri, 19 Oct 2012 00:28:16 +0000 (20:28 -0400)]
Merge all License/COPYING files into one and install it

Installing is important for cpack binary packages (e.g. TGZ).

Also added Copyright of thread_mpi, blas, and lapack which
were missing.

Fixes #952

Change-Id: I06c54a08a493273f8e91333c4601f4fef945ad51

11 years agodon't execute any mpi_info/mpiname in the path
Szilard Pall [Fri, 2 Nov 2012 02:27:52 +0000 (03:27 +0100)]
don't execute any mpi_info/mpiname in the path

During MPI setup, the gmxManageMPI.cmake script uses mpi_info/mpiname to
check for and warn about potentially problematic versions. However,
executing these binatries without any path can lead to false positive
warnings e.g. in case if the MPI installation in used does not provide
mpi_info, but another MPI installation's mpi_info is in the path
(which is the case with MacPorts OpenMPI + Xcode's MPI).

To avoid these false positives we don't execute any other
mpi_info/mpiname but the ones found at the same path where the MPI
compiler wrapper resides (if any).

Change-Id: Icd2091dd952f4a140b92045f95a8d0187c1a354f

11 years agoFix DEB/RPM cpack generation
Roland Schulz [Sun, 21 Oct 2012 22:03:40 +0000 (18:03 -0400)]
Fix DEB/RPM cpack generation

Change-Id: I4df6bf81d91f2027ee2b1849edafbaac717f3704

11 years agoActually disable GPU when compiling in double
Christoph Junghans [Thu, 1 Nov 2012 03:40:51 +0000 (21:40 -0600)]
Actually disable GPU when compiling in double

Change-Id: Iefb877f066c5f1b923bb7771323fedff9c1b85dc

11 years agofix internal/external OpenMP thread affinity clash
Szilard Pall [Mon, 24 Sep 2012 21:54:50 +0000 (23:54 +0200)]
fix internal/external OpenMP thread affinity clash

Thread affinity set by the OpenMP library, either automatically or
requested by the user through environment variables, can conflict with
the mdrun internal affinity setting.
To avoid performance degradation, as Intel OpenMP has affinity setting
on by default, we will explicitly disable it unless the user manually
set OpenMP affinity through one of the KMP_AFFINITY or GOMP_CPU_AFFINITY
environment variables. If any of these variables is set, we honor the
externally set affinity and turn off the internal one.

Change-Id: I78c6347154d6f11695ee04243db17bbb2e5cb0a7

11 years agoFix that no OpenMP flags are used with GMX_OPENMP=no
Roland Schulz [Mon, 8 Oct 2012 21:14:47 +0000 (17:14 -0400)]
Fix that no OpenMP flags are used with GMX_OPENMP=no

If OpenMP flags were set because find_package(OpenMP) could
find something but GMX_OPENMP was false (either set by user
or because find_package(OpenMP) was only partial succesful)
then compiler or linker flags was set which were not needed.
This could cause undefined OpenMP linker errors with
GMX_OPENMP=no.

Fixes part of #1021

Change-Id: I9b66a8c89a84374081886cd2eeb46c87664c1e39

11 years agoSet HAVE_FSEEKO consistently in one place
Roland Schulz [Sat, 27 Oct 2012 08:08:46 +0000 (04:08 -0400)]
Set HAVE_FSEEKO consistently in one place

HAVE_FSEEKO was set in two places and the definition wasn't
consistent. Now only the one in gmxTestLargeFiles is used.
HAVE_FSEEKO is only used if it fully works and 64bit fseek is
available.

Change-Id: I5c8f837e414f1ddeab0de8148d5a9c91047116f8

11 years agoMerge "Fix large file support" into release-4-5-patches
Christoph Junghans [Sat, 27 Oct 2012 02:31:38 +0000 (04:31 +0200)]
Merge "Fix large file support" into release-4-5-patches

11 years agoFix usage of CMAKE_REQUIRED_*
Roland Schulz [Fri, 19 Oct 2012 02:14:20 +0000 (22:14 -0400)]
Fix usage of CMAKE_REQUIRED_*

Always reset all variables.
Only require libm if it is avaiable (only on Unix)

Also prefer usage of _finite. ICC on Windows gives warnings
for isfinite (we don't inlude mathimf.h).

Fixes #998

Change-Id: Ib7c064aaf6d26d2ab96f5e88345091a2eb096998

11 years agoMerge "fixed incorrect PME load balancing limitation" into release-4-6
Roland Schulz [Fri, 26 Oct 2012 19:13:46 +0000 (21:13 +0200)]
Merge "fixed incorrect PME load balancing limitation" into release-4-6

11 years agoMerge "enable GMX_PREFER_STATIC_LIBS CMake option on Mac OS X" into release-4-6
Christoph Junghans [Fri, 26 Oct 2012 18:52:14 +0000 (20:52 +0200)]
Merge "enable GMX_PREFER_STATIC_LIBS CMake option on Mac OS X" into release-4-6

11 years agoMerge "fix false positive gcc 4.7 warning in libxdrf" into release-4-6
Christoph Junghans [Fri, 26 Oct 2012 18:50:39 +0000 (20:50 +0200)]
Merge "fix false positive gcc 4.7 warning in libxdrf" into release-4-6

11 years agoMerge "Fixed Pulp Fiction quote" into release-4-5-patches
David van der Spoel [Fri, 26 Oct 2012 16:48:28 +0000 (18:48 +0200)]
Merge "Fixed Pulp Fiction quote" into release-4-5-patches

11 years agofixed incorrect PME load balancing limitation
Berk Hess [Fri, 26 Oct 2012 16:24:18 +0000 (18:24 +0200)]
fixed incorrect PME load balancing limitation

PME load balancing would not work with -dlb=auto but DD-DLB not active (yet).
Also fixed incorrect cut-off in PME DLB limited message.

Change-Id: I717981743403de36c747108e0c3e907d6213be10

11 years agoMerge "set the default for nstdhdl to 100" into release-4-6
Roland Schulz [Fri, 26 Oct 2012 14:55:26 +0000 (16:55 +0200)]
Merge "set the default for nstdhdl to 100" into release-4-6

11 years agoset the default for nstdhdl to 100
Berk Hess [Fri, 26 Oct 2012 13:03:19 +0000 (15:03 +0200)]
set the default for nstdhdl to 100

The default for nstdhdl was 10, which was not a multiple of the default
for nstcalcenergy (100). This caused a warning in grompp. Also 100 should
still result in correlated samples.
Removed nstfep from mdp_opt.html.

Change-Id: If9969f27b9dafb71a7c4a81b929ff3f9455f4cf8

11 years agofixed incorrect group energies with nbnxn CPU kernels
Berk Hess [Thu, 25 Oct 2012 11:35:18 +0000 (13:35 +0200)]
fixed incorrect group energies with nbnxn CPU kernels

Fixed two energy group indexing errors in the nbnxn CPU kernels.
The code has now been generalized and we avoid code duplication.

Change-Id: I524d0d2c86b54a92ae124f2c067ccef3daac1515

11 years agoMerge "fix CUDA non-bonded kernel pointer assignment" into release-4-6
Roland Schulz [Thu, 25 Oct 2012 18:40:27 +0000 (20:40 +0200)]
Merge "fix CUDA non-bonded kernel pointer assignment" into release-4-6

11 years agofix false positive gcc 4.7 warning in libxdrf
Szilárd Páll [Thu, 25 Oct 2012 12:06:00 +0000 (14:06 +0200)]
fix false positive gcc 4.7 warning in libxdrf

Change-Id: Ied3b07dca011ca142455c328cba25b0b01eadb8c

11 years agoenable GMX_PREFER_STATIC_LIBS CMake option on Mac OS X
Szilárd Páll [Wed, 24 Oct 2012 00:44:10 +0000 (02:44 +0200)]
enable GMX_PREFER_STATIC_LIBS CMake option on Mac OS X

Change-Id: Ifa01573e514bc1a167095023e26c77829eda7b42

11 years agofixed bondfree.c thread safety with free energy
Berk Hess [Fri, 12 Oct 2012 12:54:22 +0000 (14:54 +0200)]
fixed bondfree.c thread safety with free energy

Change-Id: Ib9e60f1282fab98b6a930d19bd45fe21049964ce

11 years agoMerge "moved part of nbnxn_search.c to nbnxn_atomdata.c" into release-4-6
Roland Schulz [Tue, 23 Oct 2012 20:17:20 +0000 (22:17 +0200)]
Merge "moved part of nbnxn_search.c to nbnxn_atomdata.c" into release-4-6

11 years agoMerge "fixed incorrect LJ energy with GPU and PME load balancing" into release-4-6
Roland Schulz [Tue, 23 Oct 2012 17:43:46 +0000 (19:43 +0200)]
Merge "fixed incorrect LJ energy with GPU and PME load balancing" into release-4-6

11 years agomoved part of nbnxn_search.c to nbnxn_atomdata.c
Berk Hess [Thu, 11 Oct 2012 16:14:05 +0000 (18:14 +0200)]
moved part of nbnxn_search.c to nbnxn_atomdata.c

Change-Id: I257c4e9256373b6ddad80a99b31ce1b6789c928c

11 years agoReplace sprintf with snprintf to make safe
Roland Schulz [Tue, 23 Oct 2012 07:23:24 +0000 (03:23 -0400)]
Replace sprintf with snprintf to make safe

The sprintf could cause buffer overflows for large numbers.

Change-Id: I3cc3554710e199c9f961bd68b444836863a9469f

11 years agofixed incorrect LJ energy with GPU and PME load balancing
Berk Hess [Mon, 22 Oct 2012 14:55:26 +0000 (16:55 +0200)]
fixed incorrect LJ energy with GPU and PME load balancing

Change-Id: Ied66016e0596aa8fb37f8ba2bc0cf5554d00f0ba

11 years agoMerge "added OpenMP parallelization for virtual sites" into release-4-6
Roland Schulz [Tue, 23 Oct 2012 03:08:08 +0000 (05:08 +0200)]
Merge "added OpenMP parallelization for virtual sites" into release-4-6

11 years agoadded OpenMP parallelization for virtual sites
Berk Hess [Thu, 18 Oct 2012 16:44:25 +0000 (18:44 +0200)]
added OpenMP parallelization for virtual sites

Change-Id: I67fd26a815358d4e6f08fea486a7e0932b629d23

11 years agofix CUDA non-bonded kernel pointer assignment
Szilard Pall [Mon, 22 Oct 2012 15:19:01 +0000 (17:19 +0200)]
fix CUDA non-bonded kernel pointer assignment

The plain cut-off kernel pointer was incorrectly set which caused kernel
launch error.

Change-Id: Id4d71c4e04e8775134ee95e5ebb8c79cda7e8bf8

11 years agoFix minor OpenMP issue for md-vv update
Roland Schulz [Sat, 13 Oct 2012 00:23:04 +0000 (20:23 -0400)]
Fix minor OpenMP issue for md-vv update

Conflicting writes to alpha. But because alpha is anyhow the same
value for all threads didn't cause a problem.

Change-Id: Icefbfa4454c38300629344057f1b5feb0ca8b01d

11 years agoFix clang 3.2 unintialized variable warnings
Roland Schulz [Fri, 19 Oct 2012 14:48:43 +0000 (10:48 -0400)]
Fix clang 3.2 unintialized variable warnings

All but gmx_sorient were false positives

Change-Id: I3a38b44ad377a929a469a6c6858c81bd77372cb1

11 years agoFixed Bug #593 about memory hole in trjcat.
David van der Spoel [Sun, 21 Oct 2012 10:06:32 +0000 (12:06 +0200)]
Fixed Bug #593 about memory hole in trjcat.

Fixed by explicitly freeing memory for each frame. Tested to make
sure it does not crash.

Change-Id: Ic0e91b828a1e5a23f38690b4753092a31e6c4db4

11 years agoMerge "[tools] Allow g_dist to use default index group" into release-4-6
Roland Schulz [Fri, 19 Oct 2012 23:22:41 +0000 (01:22 +0200)]
Merge "[tools] Allow g_dist to use default index group" into release-4-6

11 years agoMerge "renamed constraint variables rmdr to vir_r_m_dr" into release-4-6
Kasson [Fri, 19 Oct 2012 23:13:05 +0000 (01:13 +0200)]
Merge "renamed constraint variables rmdr to vir_r_m_dr" into release-4-6

11 years agoFix large file support
Roland Schulz [Fri, 19 Oct 2012 21:35:35 +0000 (17:35 -0400)]
Fix large file support

Variables containing flags need to be cached. Before config.h
was written correct on first run but rerunning cmake caused
flags to be ommited. Also fixed test program.

Change-Id: Id948c54766547a85ac84751762de3afba21ea576

11 years agoMerge "renamed pme_switch... to pme_loadbal..." into release-4-6
Roland Schulz [Fri, 19 Oct 2012 18:26:28 +0000 (20:26 +0200)]
Merge "renamed pme_switch... to pme_loadbal..." into release-4-6

11 years agoMerge "Added thread affinity API to thread_mpi." into release-4-6
Roland Schulz [Thu, 18 Oct 2012 23:44:34 +0000 (01:44 +0200)]
Merge "Added thread affinity API to thread_mpi." into release-4-6

11 years agorenamed constraint variables rmdr to vir_r_m_dr
Berk Hess [Thu, 18 Oct 2012 10:12:22 +0000 (12:12 +0200)]
renamed constraint variables rmdr to vir_r_m_dr

Change-Id: Ie332cfdcae3f5b0c0067d8c9a337367395f6065f

11 years agoadded OpenMP parallelization to LINCS projection
Berk Hess [Fri, 12 Oct 2012 14:07:15 +0000 (16:07 +0200)]
added OpenMP parallelization to LINCS projection

Also fixed thread-safety of the LINCS warnings.

Change-Id: I77ded70e745f1e1a75ac1c2d54a34ab56c019770

11 years ago[tools] Allow g_dist to use default index group
Alexey Shvetsov [Thu, 18 Oct 2012 09:27:47 +0000 (13:27 +0400)]
[tools] Allow g_dist to use default index group

This should fix #1002

Change-Id: I93db5821bd2eb333f89c21d84f8f52eabc2a7dc3
Signed-off-by: Alexey Shvetsov <alexxy@omrb.pnpi.spb.ru>
11 years agoFixed Pulp Fiction quote
Roland Schulz [Wed, 17 Oct 2012 19:56:11 +0000 (15:56 -0400)]
Fixed Pulp Fiction quote

Fixes 1011

Change-Id: I40bfdca8906505a8a619c6ba2db924a50b830af5

11 years agorenamed pme_switch... to pme_loadbal...
Berk Hess [Tue, 16 Oct 2012 14:30:42 +0000 (16:30 +0200)]
renamed pme_switch... to pme_loadbal...

Also added and updated the mdrun PME load balacing reporting.

Change-Id: Ifa633ee9e1fc6a22f7792bbb6af7ad7da6192d14

11 years agoMerge "Make Gromacs compile without C++ compiler" into release-4-6
Kasson [Wed, 17 Oct 2012 01:32:43 +0000 (03:32 +0200)]
Merge "Make Gromacs compile without C++ compiler" into release-4-6

11 years agoMerge "made pair-search with GPU 20% faster" into release-4-6
Roland Schulz [Tue, 16 Oct 2012 17:30:39 +0000 (19:30 +0200)]
Merge "made pair-search with GPU 20% faster" into release-4-6

11 years agoMade g_tune_pme read (ns/day) from 4.6 md.log output files
Carsten Kutzner [Tue, 16 Oct 2012 13:32:17 +0000 (15:32 +0200)]
Made g_tune_pme read (ns/day) from 4.6 md.log output files

Change-Id: I8a3f804ac71cd13b3e060aa7b42032fbbbd93dcd

11 years agoRemoved obsolete hint in error message.
Carsten Kutzner [Tue, 16 Oct 2012 11:11:37 +0000 (13:11 +0200)]
Removed obsolete hint in error message.

GMX_RESET_COUNTER was removed from the code a long time ago.

Change-Id: I2fb54995f1a6e211995ef0474bcdb36f5018550d

11 years agomade pair-search with GPU 20% faster
Berk Hess [Tue, 16 Oct 2012 08:42:10 +0000 (10:42 +0200)]
made pair-search with GPU 20% faster

Also replaced more numbers by symbolic constants.

Change-Id: Ida0ef5c46b3fd1d6b4d8006598194e19a943b660

11 years agoAdded thread affinity API to thread_mpi.
Sander Pronk [Fri, 12 Oct 2012 16:29:54 +0000 (18:29 +0200)]
Added thread affinity API to thread_mpi.

thread_mpi can now set thread affinity on Linux and Windows. Currently
that is limited to setting the affinity of any thread (including those
not started with thread_mpi) to any single core. The OS's core numbering
is maintained.

Change-Id: If0b7aa443f7da206b320a2bde5bd771a441fb2cb

11 years agoMerge "Fixing issues with replica exchange" into release-4-6
David van der Spoel [Sat, 13 Oct 2012 19:31:04 +0000 (21:31 +0200)]
Merge "Fixing issues with replica exchange" into release-4-6

11 years agoFixed install-xxx functionality broken in 9628e27d
Mark Abraham [Sat, 13 Oct 2012 00:00:48 +0000 (11:00 +1100)]
Fixed install-xxx functionality broken in 9628e27d

Only the CPack component definitions needed fixing, inasmuch as they
are what is used for the "make install-xxx" functionality. I separated
"libraries" component into "libraries", "libraries-gmxpreprocess" and
"libraries-gmxana" for, respectively, the core gmx/md/etc. libraries,
and those particular to src/kernel programs and src/tools programs.
Now "make install-xxx" correctly compiles, links and installs only the
required dependencies, and the wrong dependencies introduced in the
above commit are removed.

Fixes #1015

Change-Id: I3e848e69d126305943370d1f294e44d5389e1934

11 years agoMerge "Fix illegal barrier in worksharing" into release-4-6
Berk Hess [Fri, 12 Oct 2012 12:46:18 +0000 (14:46 +0200)]
Merge "Fix illegal barrier in worksharing" into release-4-6