Roland Schulz [Sat, 10 Nov 2012 22:54:36 +0000 (17:54 -0500)]
Merge release-4-6 into master
Change-Id: I86203d25d2e3c1bacdfa58207914830aadd61f4f
Roland Schulz [Sat, 10 Nov 2012 22:02:54 +0000 (23:02 +0100)]
Merge "Fix broken manual formatting" into release-4-6
Mark Abraham [Sat, 10 Nov 2012 18:35:00 +0000 (19:35 +0100)]
Fix broken manual formatting
Change-Id: I7d03400c0c8b0527f2d3db185b8bd55f88cd8bba
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
Roland Schulz [Fri, 9 Nov 2012 21:18:27 +0000 (16:18 -0500)]
Merge origin/release-4-6 into master
Conflicts:
CMakeLists.txt
cmake/gmxTestRestrict.cmake (recreated)
cmake/TestRestrict.c (recreated)
src/config.h.cmakein
src/gromacs/gmxlib/nrnb.c
src/gromacs/gmxlib/string2.c
src/gromacs/gmxlib/tpxio.c
src/gromacs/legacyheaders/string2.h
src/gromacs/libgromacs.pc.cmakein
src/kernel/CMakeLists.txt (change added to src/gromacs/CMakeLists.txt)
Deleted:
src/gromacs/gmxlib/nonbonded/nb_kernel_bluegene/*
src/gromacs/gmxlib/nonbonded/nb_kernel_c/*
src/gromacs/gmxlib/nonbonded/nb_kernel_f77_*
src/gromacs/gmxlib/nonbonded/nb_kernel_power6/*
src/gromacs/gmxlib/nonbonded/nb_kerneltype.h
src/gmxlib/nonbonded/mknb_generator/mknb_metacode.h
nstlist has been added to tpx format in 4.6 (tpx ver 82), and
now in master from version 91. Versions 83-89 are reserved for
4.6 (and will read it), while version 90 (previous master) files
are read correctly without it.
Change-Id: I9a953d213fedcc3d885ee20bff08cbdf916c86c2
Roland Schulz [Fri, 9 Nov 2012 19:10:31 +0000 (14:10 -0500)]
Fix component for libcudart
Change-Id: Ie63bbe5d9bab2f5f0c1231ddc03a7f51ffc86ffb
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
Erik Lindahl [Fri, 9 Nov 2012 10:26:24 +0000 (11:26 +0100)]
Removed unused old kernel generator
Change-Id: I74f52245f8d720e1702ae9aaaa0fe675a69b615e
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
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
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
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
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
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
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
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
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
Teemu Murtola [Fri, 19 Oct 2012 09:50:01 +0000 (12:50 +0300)]
Include Gromacs files with double quotes in C++ code.
Replace #include <...> with #include "..." for Gromacs include files in
all new C++ code. Also include headers from legacyheaders using
"gromacs/legacyheaders/...". The C++ code should now compile without
gromacs/legacyheaders/ in the include path.
Updated the include dependency checker with checks related to this
(would have been difficult to find all these places without it).
Change-Id: Ia0fb5f9bc43790619b2dc2027a326c34bb2cf4ca
Teemu Murtola [Wed, 17 Oct 2012 18:05:56 +0000 (21:05 +0300)]
Remove unnecessary config.h includes in C++ code.
Removed
#include <config.h>
from C++ source files that did not actually use any defines from it, and
replaced the remaining ones with
#include "config.h"
Also left a few of these in the trajectory analysis runner, in files
where MPI support most likely will need them.
Reduces rebuild times when changing something in config.h (or would, if
simple.h would not pull in config.h everywhere), and makes it more
obvious where actual platform or configuration option specific code is
located.
Regenerated the selection tokenizer with Flex 2.5.37, as this is what I
currently have available.
Change-Id: I393ced98160c4c5631c5ff950533c4d2aa6e2ecf
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
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
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
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
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
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
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
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
Berk Hess [Tue, 6 Nov 2012 16:30:35 +0000 (17:30 +0100)]
Merge "Add option to install libcudart" into release-4-6
Michael Shirts [Sat, 27 Oct 2012 03:18:20 +0000 (23:18 -0400)]
Clarification of mdp_opt, add nstexpand defaults & checks
Change-Id: If96973674ba9618256a6454d8f12a3d982ce00e2
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
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
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
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
Roland Schulz [Sat, 3 Nov 2012 19:40:48 +0000 (15:40 -0400)]
Merge release-4-6 into master
Conflicts:
CMakeLists.txt: trivial
COPYING-OTHER: moved to COPYING
Added check for ICC bug to gmxTestCXX11.cmake to not activate
HAVE_CXX11 with affected ICC versions.
Change-Id: I8b9db5895c4b5a47b4936771c941cd600f003a98
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
Christoph Junghans [Wed, 17 Oct 2012 09:57:32 +0000 (11:57 +0200)]
Reworked version of cmake FFTW detection
Change-Id: I6d83293de760986fc1e1ebe4669520fbd499d7fc
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
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
Roland Schulz [Sun, 21 Oct 2012 22:03:40 +0000 (18:03 -0400)]
Fix DEB/RPM cpack generation
Change-Id: I4df6bf81d91f2027ee2b1849edafbaac717f3704
Christoph Junghans [Thu, 1 Nov 2012 03:40:51 +0000 (21:40 -0600)]
Actually disable GPU when compiling in double
Change-Id: Iefb877f066c5f1b923bb7771323fedff9c1b85dc
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
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
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
Teemu Murtola [Mon, 22 Oct 2012 04:41:40 +0000 (07:41 +0300)]
Clean up git version generation.
- Rename USE_VERSION_H to GMX_GIT_VERSION_INFO. This was particularly
confusing now that there was a separate version.h file for API version
numbers.
- Move the version.h/version.c files to src/gromacs/utility/ and rename
them to gitversion.*, again to avoid confusion with the API version.h
header.
- Remove unnecessary suffix stripping from gmxGenerateVersionInfo.cmake:
when this functionality was added, the version string was of the form
X.Y-dev-YYYYMMDD, and the script was stripping the date off. Now that
the date is gone, it is clearer to just append the generated version
with no extra logic.
- Change the logic for handling GMX_GIT_VERSION_INFO in CMake such that
user-provided cache values are never changed under the hood.
Change-Id: I372a4e2fdf11b1799dd22997bc6adb4faf3db93d
Christoph Junghans [Sat, 27 Oct 2012 02:31:38 +0000 (04:31 +0200)]
Merge "Fix large file support" into release-4-5-patches
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
Roland Schulz [Fri, 26 Oct 2012 19:13:46 +0000 (21:13 +0200)]
Merge "fixed incorrect PME load balancing limitation" 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
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
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
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
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
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
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
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
Roland Schulz [Thu, 25 Oct 2012 18:32:50 +0000 (14:32 -0400)]
Merge remote-tracking branch 'origin/release-4-6' into HEAD
Conflicts:
include/nbnxn_search.h
src/gromacs/legacyheaders/nbnxn_search.h
src/mdlib/nbnxn_search.h
Moved the new src/mdlib/nbnxn_search.h to
src/gromacs/mdlib/nbnxn_search.h
Conflicts (all trival):
src/gromacs/gmxlib/statutil.cpp
src/programs/mdrun/genalg.c
src/tools/gmx_h2order.c
src/tools/gmx_sorient.c
Moved src/mdlib/nbnxn_atomdata.* src/mdlib/nbnxn_internal.h
to src/gromacs/mdlib
Change-Id: Ic0026cb8e9c2b12fcd5293add562e906193bf6ab
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
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
Berk Hess [Fri, 12 Oct 2012 12:54:22 +0000 (14:54 +0200)]
fixed bondfree.c thread safety with free energy
Change-Id: Ib9e60f1282fab98b6a930d19bd45fe21049964ce
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
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
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
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
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
Roland Schulz [Tue, 23 Oct 2012 03:08:08 +0000 (05:08 +0200)]
Merge "added OpenMP parallelization for virtual sites" into release-4-6
Berk Hess [Thu, 18 Oct 2012 16:44:25 +0000 (18:44 +0200)]
added OpenMP parallelization for virtual sites
Change-Id: I67fd26a815358d4e6f08fea486a7e0932b629d23
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
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
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
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
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
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
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
Roland Schulz [Fri, 19 Oct 2012 18:50:56 +0000 (14:50 -0400)]
Merge branch 'release-4-6'
Conflicts:
src/kernel/CMakeLists.txt (applied to programs/mdrun)
src/programs/mdrun/pme_switch.c (renamed)
src/programs/mdrun/pme_switch.h (renamed)
Change-Id: I0914b274baed69a25736dca50b57d1b8658d4ca8
Roland Schulz [Fri, 19 Oct 2012 18:26:28 +0000 (20:26 +0200)]
Merge "renamed pme_switch... to pme_loadbal..." 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
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
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
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>
Roland Schulz [Wed, 17 Oct 2012 19:56:11 +0000 (15:56 -0400)]
Fixed Pulp Fiction quote
Fixes 1011
Change-Id: I40bfdca8906505a8a619c6ba2db924a50b830af5
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
Roland Schulz [Wed, 17 Oct 2012 03:34:06 +0000 (23:34 -0400)]
Merge branch 'release-4-6'
Conflicts:
src/gromacs/mdlib/pme.c (trivial)
This merge reverts
1) Fixed install-xxx functionality broken in
9628e27d
b64eea399c18e345204c4aee79984cba2819dbd8
Because
9628e27d was already reverted and we need to do this
seperate in master
2) Make Gromacs compile without C++ compiler
cb93f945a96caad2b9041b6b64d5c5bd872dc78f
Doesn't apply to master
Change-Id: I12f455ee654f0fa9e45e27fe056b98399ff4584b
Roland Schulz [Wed, 17 Oct 2012 03:21:42 +0000 (23:21 -0400)]
Merge branch 'release-4-6', adds the nbnxn functionality
Change-Id: I0ca088dcf9140d69fd9d5f935ed9e370fc1757ae
Kasson [Wed, 17 Oct 2012 01:32:43 +0000 (03:32 +0200)]
Merge "Make Gromacs compile without C++ compiler" 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
Roland Schulz [Tue, 16 Oct 2012 15:06:33 +0000 (17:06 +0200)]
Merge "Script for analyzing include dependencies."
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
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
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
Teemu Murtola [Sat, 13 Oct 2012 19:10:04 +0000 (22:10 +0300)]
Script for analyzing include dependencies.
Add a Python script plus some CMake code to run it that analyzes include
file dependencies. The script can also generate different kinds of
include dependency graphs (this implementation dates from a time when
some versions of Doxygen didn't do this properly, and the script still
has some features that Doxygen doesn't have). Some parts of the script
contain hard-coded stuff related to the Gromacs source tree layout or
the Doxygen guidelines, but the core dependency analysis should be quite
general.
There is a lot to improve in the script (in addition to missing
features, docstrings and comments are sparse, and some parts could be
better structured), but it is already usable.
Fix a few issues that produce multiple warnings from the script, and one
issue found by the script (in helpformat.h).
Related to #638 and #907.
Change-Id: I22a6d6c0818f21c828f1e7d6beb1fdada39273d2
Teemu Murtola [Thu, 27 Sep 2012 19:13:18 +0000 (22:13 +0300)]
Clean up g_ana angle implementation.
- Remove -split1 and -split2 options, as the 'merge' selection keyword
can be used for the same effect.
- Remove -multi option, as the same can be interpreted from the number
of input selections (not currently supported, though).
- Change output options, such that averages and individual angles are
written to different files, allowing the removal of -all option.
- Add tests.
- Add some TODO comments for things still missing.
Supporting changes:
- Add an analysis data module that computes per-frame averages and tests
for the module.
- Also add tests with multipoint data for the average modules and fix an
issue in mock_datamodule.cpp (now this is somewhat unrelated, but some
intermediate version of this change was more tightly coupled to
multipoint data).
Change-Id: I0c62c2c54a0b3a0ff269ea0c2d6150c31479f3eb
Teemu Murtola [Mon, 15 Oct 2012 07:43:09 +0000 (10:43 +0300)]
Extract Doxygen docs for anonymous namespaces.
With this, no Doxygen documentation in the source should get ignored.
Also added documentation for anonymous namespace members that were
causing warnings.
Related to #638.
Change-Id: I31af809272123fbc7f77ea9d3b186eddb07935bb
Teemu Murtola [Sun, 14 Oct 2012 06:43:05 +0000 (09:43 +0300)]
Fix most warnings with Doxygen 1.8.1.1.
Some of these seem bugs in Doxygen, but these changes shouldn't hurt.
Change-Id: Ifcb58df2f33e3fe0b6e4e51c02fbefe11162c9ae
Teemu Murtola [Mon, 15 Oct 2012 07:45:06 +0000 (10:45 +0300)]
Remove explicit end-of-array markers from tests.
Instead of using NULL- or otherwise terminated arrays as input to test
functions, use a template wrapper for the functions that take these
arrays to allow the compiler to pass the declared size of the array.
This is safer, as with this approach it is not possible to forget the
terminator.
Change-Id: I7cdb91c055d9026dabebcd9adc657a66fb9a99c3
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
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
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
David van der Spoel [Fri, 12 Oct 2012 19:01:54 +0000 (21:01 +0200)]
Merge "[tools] g_sans - add trajectory avereging"
Berk Hess [Fri, 12 Oct 2012 12:46:18 +0000 (14:46 +0200)]
Merge "Fix illegal barrier in worksharing" into release-4-6
Roland Schulz [Fri, 12 Oct 2012 04:54:02 +0000 (00:54 -0400)]
Fix illegal barrier in worksharing
According to section 2.10 of the OpenMP standard:
A barrier region may not be closely nested inside a worksharing
... region.
Replaced parallel-for with parallel plus gmx_omp_get_thread_num.
Fixes #937
Change-Id: Ief31f2097fb084d405e5981913cce2c2bfee868c