Artem Zhmurov [Mon, 23 Nov 2020 13:52:57 +0000 (16:52 +0300)]
Remove coolquote that sounds offensive without context
Joe Jordan [Tue, 17 Nov 2020 13:53:46 +0000 (13:53 +0000)]
Remove some extraneous compiler flags from nblib
Closes #3798
Gilles Gouaillardet [Fri, 13 Nov 2020 09:14:37 +0000 (09:14 +0000)]
Detect ARM SVE Vector length if possible
arm_sve: unless the SVE vector length is explicitly set via the
GMX_SIMD_ARM_SVE_LENGTH macro, detect the default vector length
and aborts if it cannot be found.
Thanks Olly Perks for the pointer.
Paul Bauer [Thu, 12 Nov 2020 10:45:27 +0000 (11:45 +0100)]
Fix thread mpi linking for mdrun only build
The linking would fail because the library include directory was not
added properly.
Fixes #3807
Paul Bauer [Thu, 12 Nov 2020 08:56:08 +0000 (09:56 +0100)]
Restore correct dynamics linking behaviour
Recent changes to the way shared libraries are managed introduced a bug
in setting up static linking by default when building mdrun only.
Fixes #3806
Szilárd Páll [Wed, 11 Nov 2020 14:28:14 +0000 (14:28 +0000)]
Fix gcc 9 "warning: ‘unused’ attribute ignored"
gcc 9 seems to not like the unused because it would never warn anyway
about members, but clang does require it.
Paul Bauer [Wed, 11 Nov 2020 10:30:50 +0000 (10:30 +0000)]
Second GROMACS 2021 beta release
Feature freeze for 2021 branch.
Berk Hess [Wed, 11 Nov 2020 07:42:53 +0000 (08:42 +0100)]
Update gmx msd documentation
Removed comment on weighted fitting for determining the diffusion
coefficients. This weighting had been removed at some point, but
the documentation had not been updated.
Andrey Alekseenko [Tue, 10 Nov 2020 15:21:45 +0000 (16:21 +0100)]
Fix "GMX_CUDA|OCL_NB_EWALD_TWINCUT is disabling twin cut-off"
Paul Bauer [Tue, 10 Nov 2020 16:45:03 +0000 (17:45 +0100)]
Disable failing NB-LIB listed forces tests
Tests are not stable enough to be run in all configurations and need
some more digging into for a proper solution.
Refs #3795
kanduri [Tue, 10 Nov 2020 16:54:53 +0000 (16:54 +0000)]
NBLIB: Fix build warning from uninitialized array
Szilárd Páll [Tue, 10 Nov 2020 12:33:23 +0000 (12:33 +0000)]
GPU codepath cycle counting fixes
* eliminated double-counting in bonded module initialization
* moved the bonded kernel launch counting into the gpuBoned module
* avoid counting ~0 CPU update work on the GPU path by conditionally
starting the ewcUPDATE counter
* also added some minimal improvements to the wallcycle debugging
tooling which should facilitate finding invalid nesting and missing
stop calls.
Refs #3764
Mark Abraham [Mon, 9 Nov 2020 15:16:01 +0000 (16:16 +0100)]
Add move operations to GpuHaloExchange
This avoids needing to put the objects in a unique_ptr to put them in
a container. Also made a collection of them use std::array for
clarity.
Andrey Alekseenko [Mon, 9 Nov 2020 17:57:21 +0000 (17:57 +0000)]
Add SYCL implementation of LeapFrogGpu
An implementation of LeapFrogGpu integrator using SYCL. Also, some additions to SYCL's DeviceBuffer.
Code pretty much follows CUDA version.
For float3, I had to use gmx::RVec instead of SYCL's built-in cl::sycl::float3, since latter is 16 bytes.
Joe Jordan [Mon, 9 Nov 2020 14:55:16 +0000 (14:55 +0000)]
Add backend for nblib listed forces API
This adds the back-end for the nblib API defined in
listed_forces/bondtypes.h and listed_forces/definitions.h.
Additionally, header and source are added for the private
implementations of these files. These are implementation details,
and are not visible to or interactable with by the user, so they
are not part of the public API. This backend is a ground up refactoring
of gromacs, copying the force and energy kernels but rewriting the disipatch.
There are tests that compare forces and energies to gromacs.
Each function in this commit has at least one test for correctness,
though in most cases there are many more since the functionality is
cumulative. All of this functionality has undergone extensive design
review and code review already, so it should not be necessary to go
through the whole change with a fine-tooth comb. Suggestions on how
implementations could be improved are welcome. However, they will
likely need to be addressed as follow-up issues unless they are
trivial to fix.
Paul Bauer [Mon, 9 Nov 2020 12:38:18 +0000 (12:38 +0000)]
Use images from GitLab docker repository
Docker is reducing the maximum number of pulls from their storage, and
we are already now hitting the limit with heavy CI activity.
Now uses images from GitLab Docker Repository instead.
Fixes #3788
Andrey Alekseenko [Mon, 9 Nov 2020 11:30:10 +0000 (11:30 +0000)]
Fix intemittent MdrunIOTests segfault
In Modular Simulator, we wish to have two copies of
ComputeGlobalsElement<ComputeGlobalsAlgorithm::VelocityVerlet>. To avoid
making two separate objects, a `static thread_local` singleton was
introduced. However, it caused issues when the ModularSimulator was
built repeatedly in the same process, due to stale pointer persisting in
a static variable.
This commit adds a key-value storage to
ModularSimulatorAlgorithmBuilderHelper, and makes ComputeGlobalsElement
use it instead of static variables. This ensures proper lifetime of
cached pointers and can be used by other Elements for similar goals.
Closes #3791
Artem Zhmurov [Mon, 9 Nov 2020 06:20:17 +0000 (09:20 +0300)]
Remove source file that is no longer in use
All CUDA data transfer calls now use the same wrappers, the
NBNXM-specific wrapers can be removed.
Szilárd Páll [Mon, 9 Nov 2020 10:33:38 +0000 (10:33 +0000)]
Fix cycle counting in StatePropagatorDataGpu
Double-counting resulted in broken/truncated performance acounting
table.
Fixes #3764
Berk Hess [Mon, 9 Nov 2020 10:10:29 +0000 (10:10 +0000)]
Move implementation to cpp file
Fixes issue with missing GMX_ASSERT as well.
Alan Gray [Mon, 9 Nov 2020 09:48:34 +0000 (09:48 +0000)]
Use dynamically allocated unique pointers for GPU halo tests
The tests were intermittently failing in the enqueuing of a remote
GPU's event to a local GPU's stream because the remote object
(allocated on the stack in the innermost loop) was already destroyed (due
to the asynchronicity of the operation). This change allows the objects
to persist, and is the same way we already do it in the main code.
Fixes intermittent failures appearing in !773 and eleswhere.
Andrey Alekseenko [Fri, 6 Nov 2020 12:19:56 +0000 (13:19 +0100)]
Suggest environment variable to limit visible SYCL devices
As with OpenCL, there is no portable way to do it, so we suggest the
currently working Intel option.
Artem Zhmurov [Fri, 6 Nov 2020 07:26:26 +0000 (10:26 +0300)]
Fix doxygen comments formattig in update.h
Paul Bauer [Thu, 5 Nov 2020 16:18:24 +0000 (16:18 +0000)]
Allow pdb2gmx to handle cyclic molecules
This has been a long outstanding issue with the code not being able to
do this.
Cyclic molecules are detected by checking if chain ends are within bonding
distance from each other. This does not detect cyclic molecules over PBC
boundaries.
Initial patch proposed by Boris Timofeev.
Resolves #3571
Change-Id: Ic25e46a12fef5fb46748dc0497f469b5834d4886
Paul Bauer [Thu, 5 Nov 2020 11:35:58 +0000 (12:35 +0100)]
Allow CUDA build tests to succeed without GPU
Added early return to haloexchange GPU pathway test to not try to run
the tests without a GPU (i.e. device list is empty).
Refs #3789
Mark Abraham [Thu, 5 Nov 2020 09:10:34 +0000 (10:10 +0100)]
Stop showing wrong README on GitHub front page
Paul Bauer [Thu, 5 Nov 2020 10:27:15 +0000 (10:27 +0000)]
Limit parallelism in Github CI
Remove the -j option from CTest, avoiding issues with trying to run the
test binaries in parallel.
Set environment variable so that the build knows it is under CI, and
limits the number of thread-MPI and if needed OpenMP threads.
Activate regressiontest testing.
Berk Hess [Thu, 5 Nov 2020 09:57:25 +0000 (09:57 +0000)]
Disable MTS with SD integrator
The SD integrator requires different damping coefficients for
the different MTS forces and we currently don't have the different
MTS forces available separately in the integrator.
Fixes #3775
Magnus Lundborg [Tue, 3 Nov 2020 20:35:14 +0000 (21:35 +0100)]
Set pbcatom_input in order to pass later checks
pbcatom_input was not set. This meant that pbcatom checks in
set_pull_init() failed for large pull groups.
Fixes: #3786
Berk Hess [Wed, 4 Nov 2020 19:31:12 +0000 (20:31 +0100)]
Copy position restraint parameters with MTS
Fixes #3784
Mark Abraham [Thu, 5 Nov 2020 08:00:48 +0000 (08:00 +0000)]
Improve issues with CUDA interacting with std flags
GCC 7 needs a work-around just like older CUDA does.
Removed unnecessary use of C++17 features in compat/pointers.h as we
do in other parts of the code while CUDA compilation must be within
C++14.
Refs #3608
Fixes #3783, #3780
Alan Gray [Wed, 4 Nov 2020 18:56:03 +0000 (18:56 +0000)]
Allow GPU update without GPU DD
Mark Abraham [Wed, 4 Nov 2020 15:40:32 +0000 (16:40 +0100)]
Fix use of config.h in halo exchange tests
Mark Abraham [Wed, 4 Nov 2020 14:16:50 +0000 (14:16 +0000)]
Remove logging from hardware detection
This should be deferred to separate responsibilities, in particular
so that hardware detection can run before logging functionality
is available. Subsequent logging of the results restores the value
to the user from understanding what mdrun could see about their
hardware.
Refs #3650, #3768
Joe Jordan [Wed, 4 Nov 2020 13:28:54 +0000 (13:28 +0000)]
NBLIB listed forces API update
- added a listed forces calculator for the user-facing API
- expanded documentation
- reduced boilerplate
- addressed review comments
Alan Gray [Tue, 3 Nov 2020 14:01:51 +0000 (14:01 +0000)]
Add more halo exchange unit test variations
Addition of several 1D and 2D variations with different pulse configs.
Follow up will extend to 3D.
Szilárd Páll [Tue, 3 Nov 2020 12:47:16 +0000 (12:47 +0000)]
Add missing wallcycle_stop
On the GPU update path the Update CPU counter was started and not
correctly stopped.
Refs #3764
Alan Gray [Tue, 3 Nov 2020 12:12:57 +0000 (12:12 +0000)]
Extend halo exchange unit test to GPU codepath
Test will additionally re-perform halo exchange on GPU codepath (for
CUDA thread-MPI builds).
Gilles Gouaillardet [Tue, 3 Nov 2020 11:23:27 +0000 (11:23 +0000)]
timing: try to directly retrieve gmx_cycles_calibrate() from the hardware
The timer period can be directly retrieved from the hardware on ARMv8
and recent x86_64 platforms.
Try this first, and fall back on the current guessestimate on older x86_64 platforms
Magnus Lundborg [Mon, 2 Nov 2020 15:53:15 +0000 (16:53 +0100)]
Remove TODO regarding AWH cover threshold along lambda axis.
The 1.0 factor should be OK for a FEP lambda axis. It should be OK
in theory and tests show it works.
Change-Id: Iafe39ab0663ec227e96e40f1b2073818610e93ae
Closes: #3634
Artem Zhmurov [Tue, 3 Nov 2020 07:43:32 +0000 (07:43 +0000)]
Make the message why GPU bondeds are not available more clear
Closes #3728
Paul Bauer [Fri, 30 Oct 2020 18:15:17 +0000 (19:15 +0100)]
Add Clang CUDA build to CI
Runs tests during post-merge acceptance, but compiled for all merge
requests.
ejjordan [Mon, 2 Nov 2020 11:05:11 +0000 (12:05 +0100)]
Update to nblib non-bonded backend
* added more documentation
* more consistent naming
* cleaner, more consistent interfaces
* add more checks
* expand test coverage
* fix bugs
M. Eric Irrgang [Thu, 29 Oct 2020 20:48:06 +0000 (21:48 +0100)]
Remove an unnecessary transitive dependency of imported CMake target.
Refs #3777
Paul Bauer [Fri, 30 Oct 2020 17:26:33 +0000 (17:26 +0000)]
Fix unused variable warnings
Paul Bauer [Fri, 30 Oct 2020 12:58:59 +0000 (13:58 +0100)]
Add missing fix for Clang CUDA
Was missing from the previous list of fixes (don't know how that
happened).
Paul Bauer [Fri, 30 Oct 2020 12:38:29 +0000 (12:38 +0000)]
Fix build issues with Clang CUDA
Fixed missing changes in CMake property name
Apply properties correctly for test library.
Fix wrongly attributed gpu_utils test file.
Joe Jordan [Fri, 30 Oct 2020 11:36:34 +0000 (11:36 +0000)]
Introduce nblib versioning
Andrey Alekseenko [Thu, 29 Oct 2020 18:21:16 +0000 (19:21 +0100)]
Rework handling of PATH-like variables in GMXRC.bash/zsh
Old version was not robust to various kinds of trailing colons, as
exerienced in, e.g., #3219.
To make it all safer, a single function, that removes the
old path and adds the new one to the beginning, is introduced.
Tested with:
- GNU bash 4.4.20
- GNU bash 5.0.17
- zsh 5.8
- dash 0.5.8
```
$ replace_in_path ":" "/new" "/old"
/new:
$ replace_in_path "" "/new" "/old"
/new
$ replace_in_path "/old" "/new" "/old"
/new
$ replace_in_path "/old:" "/new" "/old"
/new:
$ replace_in_path "/old:/other" "/new" "/old"
/new:/other
$ replace_in_path ":/other" "/new" "/old"
/new::/other
$ replace_in_path "/other:" "/new" "/old"
/new:/other:
$ replace_in_path "/other:/old" "/new" "/old"
/new:/other
```
Full test:
```
$ bash -c 'MANPATH=''; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man
$ bash -c 'MANPATH=':'; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:
$ bash -c 'MANPATH='/abc'; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:/abc
$ bash -c 'MANPATH='/abc:'; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:/abc:
$ bash -c 'MANPATH=':'; . scripts/GMXRC.bash; . scripts/GMXRC.bash; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:
$ bash -c 'MANPATH=''; . scripts/GMXRC.bash; . scripts/GMXRC.bash; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man
$ bash -c 'MANPATH='/abc'; . scripts/GMXRC.bash; . scripts/GMXRC.bash; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:/abc
$ bash -c 'MANPATH='/abc:'; . scripts/GMXRC.bash; . scripts/GMXRC.bash; . scripts/GMXRC.bash; echo $MANPATH;'
/usr/local/gromacs/share/man:/abc:
```
Closes #2628, #3219
Szilárd Páll [Tue, 27 Oct 2020 10:49:58 +0000 (11:49 +0100)]
Clang format
Szilárd Páll [Tue, 27 Oct 2020 10:49:24 +0000 (11:49 +0100)]
Add fvec doxygen
Szilárd Páll [Thu, 6 Feb 2020 23:40:12 +0000 (00:40 +0100)]
Fix AMD OpenCL float3 array optimization bug
Because float3 by OpenCL spec is 16-byte, when used as an array type
the allocation needs to optimized to avoid unnecessary register use.
The nbnxm kernels use a float3 i-force accumulator array in registers.
Starting with ROCm 2.3 the AMD OpenCL compiler regressed and lost
its ability to effectively optimize code that uses float3 register
arrays. The large amount of extra registers used limits the kernel
occupancy and significantly impacts performance.
Only the AMD platform is affected, other vendors' compilers are able to
do the necessary transformations to avoid the extra register use.
This change converts the float3 array to a float[3] saving 8*4 bytes
register space. This improves nonbonded kernel performance
on an AMD Vega GPU by 25% and 40% for the most common flavor of the
Ewald and RF force-only kernels, respectively.
Note that eliminating the rest of the non-array use of float3 has no
significant impact.
Paul Bauer [Thu, 29 Oct 2020 16:47:33 +0000 (17:47 +0100)]
Fix CUDA code issues
Remove unused template.
Fix variable initialization order and remove obsolete variable.
Fix missing newline.
Paul Bauer [Thu, 29 Oct 2020 09:29:05 +0000 (10:29 +0100)]
Default initialize pull datastructures
Avoids warnings with gcc-9 about potential use of uninitialized
variables.
Fixes #3772
Andrey Alekseenko [Wed, 28 Oct 2020 12:34:20 +0000 (13:34 +0100)]
Make dispatchTemplatedFunction compatible with MSVC
MR !730 introduced a new function, dispatchTemplatedFunction, which
broke build with MSVC 19.27. Looks like a compiler problem, but the fix
is easy enough (and, arguably, makes the code a bit easier to read).
Berk Hess [Wed, 28 Oct 2020 10:47:49 +0000 (10:47 +0000)]
Correct AWH initial histogram size
The initial histogram size for AWH incorrectly contained
a Gaussian geometry factor and also treated higher dimensional
cases incorrectly. The formula has now been simplified and
described more accurately in the manual.
Fixes #3751
Gilles Gouaillardet [Thu, 22 Oct 2020 08:22:01 +0000 (17:22 +0900)]
options: add the eftCSV OptionFileType
Andrey Alekseenko [Mon, 19 Oct 2020 15:05:18 +0000 (17:05 +0200)]
Add dispatchTemplatedFunction
A helper function to select a templated function in runtime based on Enum value.
Paul Bauer [Tue, 27 Oct 2020 15:29:24 +0000 (16:29 +0100)]
Fix remaining clang tidy issues with OpenCL
Some code blocks still needed cleaning from clang-tidy.
Came up during manual run in preparation for CI job.
Paul Bauer [Tue, 27 Oct 2020 14:18:37 +0000 (15:18 +0100)]
Mix minor clang-tidy warning in double
One cast was using C-style, changed to C++ static_cast.
M. Eric Irrgang [Tue, 27 Oct 2020 14:31:45 +0000 (14:31 +0000)]
Use the correct CI script for sample_restraint jobs.
release-2021 should use the CI script that applies
the pytest `--threads` option.
Szilárd Páll [Tue, 27 Oct 2020 14:13:45 +0000 (14:13 +0000)]
Fix clang-tidy v10 warnigns in OpenCL kernels
Also made convert_sigma_epsilon_to_c6_c12() return a float2 with c6 and
c12 instead of returning results in pointers.
M. Eric Irrgang [Mon, 26 Oct 2020 16:50:12 +0000 (17:50 +0100)]
Normalize FindMPI hints.
Let gmxapi target use the MPI C component instead of CXX for consistency
with gmxManageMPI.cmake.
Refs #3671
Refs #3672
M. Eric Irrgang [Sat, 26 Sep 2020 14:21:00 +0000 (17:21 +0300)]
Clarify behavior of LegacyMdrunOptions.
Make notes about the lifetime management of LegacyMdrunOptions and its
members. Note effects on the way it must be used by gmxapi::ContextImpl.
Clarify how gmxapi::ContextImpl could be updated in the future if data
scope details of LegacyMdrunOptions evolve.
Relates to #3644, #3688, #3718
M. Eric Irrgang [Tue, 27 Oct 2020 08:53:46 +0000 (08:53 +0000)]
Update image names in job definitions.
Use explicit CMake versions, as appropriate.
Refs #3621
Artem Zhmurov [Tue, 27 Oct 2020 05:55:20 +0000 (08:55 +0300)]
Remove unused velocity scaling enum value
The velocities are never scaled by a full matrix, hence
the extra value in the enumeration is not needed. Having
extra possible value in the templated parameter may
hurt the compilation time.
Paul Bauer [Mon, 26 Oct 2020 06:14:07 +0000 (07:14 +0100)]
Don't deploy nightly webpages
Removed code used to deploy nightly master webpage from nightly builds.
M. Eric Irrgang [Mon, 26 Oct 2020 14:07:21 +0000 (15:07 +0100)]
Tell gmxapi to look for MPI, when appropriate.
The recommended CMake configuration for MPI-enabled GROMACS does not
provide MPI compiler wrappers for regular compiler variables. However,
the MPI toolchain details do not get conveyed transitively through the
libgromacs target. This should be easily resolved by checking whether
libgromacs is built with MPI library support and, if so, using the
CMake FindMPI module.
This may not be robust and should be revisited in the context of issue
#3672.
Meanwhile, this change should reduce errors for users following the
documentation updated under #3671.
Roland Schulz [Fri, 23 Oct 2020 18:12:47 +0000 (11:12 -0700)]
Make install-guide MPI consistent
Fixes #3671
Artem Zhmurov [Mon, 26 Oct 2020 06:34:11 +0000 (06:34 +0000)]
Clear constraints RMSD values upon domains reset
When atoms migrate from one domain to another, some domains can be
left without constraints assigned to them. In this case, old RMSD
data can contaminate the output and lead to arithmetic exceptions.
Also match conditinal when constraints RMSD values are collected
and when printed.
Fixes #3742, related to #3305.
Paul Bauer [Fri, 23 Oct 2020 11:44:15 +0000 (13:44 +0200)]
Disallow OpenMP on Windows in CI
The builds with MSVC and OpenMP fail too many unit tests, so we need to
disable this combination in CI.
Builds now can pass testing on Github.
Refs #3752
Szilárd Páll [Sat, 24 Oct 2020 12:05:08 +0000 (12:05 +0000)]
Exclude CUDA 10.2 as well from C++17 compilation
This commit corrects compilation with CUDA 10.2, which does not support
C++17, by changing the condition to pass -std=c++14 to nvcc added by
commit
b6172240bfb5daf80d32150924bcdc46a4b07e10.
Roland Schulz [Fri, 23 Oct 2020 17:59:00 +0000 (10:59 -0700)]
Fix warning with OneAPI compiler and AVX512
Also improves consistentcy because other SIMD functions
are declared as `static inline`.
M. Eric Irrgang [Fri, 23 Oct 2020 14:09:50 +0000 (14:09 +0000)]
Update Docker image build scripts.
Adopt new naming scheme and conventions for Docker image contents.
Jobs will be updated to use the new images in a follow-up change.
Refs #3621
Paul Bauer [Thu, 22 Oct 2020 12:04:06 +0000 (14:04 +0200)]
Fix propagating flags for Intel + Windows
Flag would only be set in local scope and not for global one.
M. Eric Irrgang [Tue, 20 Oct 2020 16:44:35 +0000 (18:44 +0200)]
Use updated CI pipeline rules for Python package tests.
Refs #3744
Artem Zhmurov [Thu, 22 Oct 2020 13:39:03 +0000 (16:39 +0300)]
Introduce intermediate variable so that compiler will not complain
Some compilers complain about the shift being larger than the shifted
variable, even though it is never executed in this case. This introduces
an intermediate shift variable that is explicitely set to zero in this case.
Issue #3752.
Paul Bauer [Thu, 22 Oct 2020 14:34:23 +0000 (14:34 +0000)]
Fix static linking with MSVC
The C and CXX flags are now properly propagated to allow static linking.
Also fixed unrelated issue with Intel where settings didn't propagate
correctly.
Artem Zhmurov [Thu, 22 Oct 2020 08:13:42 +0000 (11:13 +0300)]
Fix formatting of the authors list
Previously defined length of 18 chars per name was not enough for
some of us and the authors list become poorly aligned. This changes
the format to have only three authors per line, thus allowing for
up to 26 characters per name. And we are hiring!
Mark Abraham [Thu, 22 Oct 2020 13:09:30 +0000 (15:09 +0200)]
Compile host code with c++14 where needed
CUDA doesn't support C++17 compilation before 10.2
Szilárd Páll [Thu, 22 Oct 2020 09:02:58 +0000 (09:02 +0000)]
Add missing GPU force reduction cycle counting
Launch timing was missing in the GPU reduction refactoring added in
257d80. This change adds back the cycle counting reducing the time
leaking into the rest timer.
Andrey Alekseenko [Thu, 22 Oct 2020 06:49:25 +0000 (06:49 +0000)]
TrajectoryElement: initialize and rename logWritingStep_
Mark Abraham [Wed, 21 Oct 2020 12:45:57 +0000 (14:45 +0200)]
Suppress warnings from clang with nvcc more widely
The original fix wasn't applied widely enough, probably because of
caching of compiler flags when I tested more recent CUDA versions.
This now fixes the issue of !644 more widely.
Szilárd Páll [Tue, 20 Oct 2020 22:41:59 +0000 (00:41 +0200)]
Add missing cycle counting for GPU halo exchange calls
Calls lesft un-timed that were leaking into the "Rest" timer are now
accounted for.
Mark Abraham [Wed, 21 Oct 2020 08:50:33 +0000 (10:50 +0200)]
Fix C++ language flag propagation to nvcc
Without this, the host code is compiled with the default language
level of the compiler, which varies by compiler and version. GROMACS
should specify the version being targeted.
This mostly reverts commit
33c239bee76444e82184c0c5685a543b8b141535.
Fixes #3749
Paul Bauer [Wed, 21 Oct 2020 13:15:03 +0000 (13:15 +0000)]
Only build nblib tests when requested
Was missing a check for GMX_DEVELOPER_BUILD being set.
Fixes #3739
Change-Id: I27d2b174cca8b16a1aa54c6a78c75cdd458d590d
Andrey Alekseenko [Wed, 21 Oct 2020 10:39:15 +0000 (12:39 +0200)]
Revert "densityfit: Fix inconsistent use of iterators"
This reverts commit
a96e538b04cf6ff1e983d62fa58fb6150ab0c97f.
Andrey Alekseenko [Tue, 20 Oct 2020 16:19:34 +0000 (18:19 +0200)]
densityfit: Fix inconsistent use of iterators
and some typos
While both referenceDensity_ and referenceDensity are views into the
same data, it's clearer to use the same variable for both begin()
and end().
M. Eric Irrgang [Tue, 20 Oct 2020 12:25:58 +0000 (14:25 +0200)]
Update gmxapi version details.
The bump from gmxapi 0.1 to 0.2 was overlooked for the C++ API.
Currently, the Python bindings require C++ API version 0.2,
but this requirement can probably be relaxed before the final version
of the 0.2 Python package.
Paul Bauer [Tue, 20 Oct 2020 14:50:31 +0000 (16:50 +0200)]
Merge branch 'origin/release-2020' into merge-release-2020
Szilárd Páll [Tue, 20 Oct 2020 14:42:50 +0000 (14:42 +0000)]
Allow gcc-9 on Power 9
Previous restriction ended up blacklisting gcc 9 and later whereas the
intent was to only do so for version 10 and later. Worked around the
version comparison quirk (and lack of >= operator).
Refs #3380
Change-Id: If9f45fe77459c3d873eab3856126f1653efe8cdb
Paul Bauer [Tue, 20 Oct 2020 14:09:51 +0000 (14:09 +0000)]
Update CI rules for release-2021
Changes rules to target release-2021 branch instead of master.
Update regressiontest download branch.
Paul Bauer [Tue, 20 Oct 2020 09:57:41 +0000 (09:57 +0000)]
GROMACS 2021 first beta release
Needs branch from master in a follow-up
Change-Id: Ic8a26bd11d07278bc048023597ecfef602b4feb6
Paul Bauer [Tue, 20 Oct 2020 07:15:59 +0000 (09:15 +0200)]
Revert "GROMACS 2021 first beta release"
This reverts commit
6e84b715331a92750bdb2c697e6d810262a5ffb5.
Version string is not correct.
Paul Bauer [Tue, 20 Oct 2020 06:41:02 +0000 (06:41 +0000)]
GROMACS 2021 first beta release
Needs branch from master in a follow-up
Change-Id: Iae03d2228dc5ce8380dfb491ee11b6aff81d9796
Paul Bauer [Mon, 19 Oct 2020 15:07:02 +0000 (15:07 +0000)]
Add release highlights
Change-Id: I08d3f93dc28a8bc18ce193ccfcf781ed6e19ee80
Paul Bauer [Mon, 19 Oct 2020 08:49:38 +0000 (10:49 +0200)]
Revert "Add muparser and CMake handling"
This reverts commit
b06ac54659006d4071564c18f7abcc17d359e9c4.
Not needed as we won't have the dependent code in yet.
Change-Id: If4a7a29e3288d1ab5e0716862a636be6a1fb8d9a
Andrey Alekseenko [Fri, 16 Oct 2020 14:16:04 +0000 (16:16 +0200)]
Fix random doxygen warnings and typos
Silence annoying
"/builds/gromacs/gromacs/src/gromacs/math/vectypes.h:87: error:
gmx::BasicVector: is in library file(s), but appears in public
documentation" from source-check pipeline (appears to be false-positive
due to a forward-declaration in a random file). I was not able to come
up with a quick fix for the underlying problem in check-source, and,
from my understanding, there are plans for refactoring it soon anyway;
so I went with a suppression here.
Fix a bunch of random typos throughout the code.
Fix some unbalanced Doxygen's \{ and \}. And one widowed @}.
Fix some \copydocs (not all).
Remove a nasty non-breakable-space that was messing up block
indentation in Sphinx docs.
Erik Lindahl [Sat, 17 Oct 2020 17:14:18 +0000 (19:14 +0200)]
New Twitter-based quote
Alan Gray [Mon, 19 Oct 2020 11:46:37 +0000 (11:46 +0000)]
Halo exchange unit test for pre-existing CPU codepath
The test sets up a 2D rank topology and performs a coordinate halo
exchange (using the pre-existing CPU codepath), with 2 pulses in
the first dimension and 1 pulse in the second. Each pulse involves
a few non-contiguous indices. The sending rank, atom number and
spatial 3D index are encoded in the x values, to allow correctness
checking following the halo exchange. Follow-up will port to GPU codepath.