Incorporated all fixes made in version 5.0.7¶
Fixed bugs with intermol interactions and DD¶
Fixed two array access issues with the combination of intermolecular interactions with domain decomposition when special bonded communication was used. This could not lead to silent errors. Added intermolecular interactions to the DD maximum distance check. Disabled (fatal error) the above combination with charge groups.
Also fixed longest 2-body interaction distance print in case the longest distance is in an exclusion.
Fixed intermolecular interactions with small mols¶
Fixed intermolecular interactions not being assigned with domain decomposition for system with only single charge group molecules.
Fixed signalling on some platforms¶
Signalling used for coordinating things like checkpoints and end-of-run conditions was broken on platforms where the char type defaults to unsigned (e.g. Power). Now fixed by specifying the use of signed char.
Added code to detect incorrect cycle counting¶
When threads are not pinned to cores, the wallcycle counting can get messed up on machines where the cycle counters are not synchronized between the cores. Since it’s difficult to detect thread pinning on all architectures and without pinning the counting can be correct on synchronized machines, we try to detect incorrect counters. We only detect negative cycle counts, but that should catch nearly all cases. When we detected an invalid count, we ignore the cycles counted and do not print the cycle accounting table. Dynamic load balancing is never disabled, because a few incorrect load measurements do not cause problems here.
Fixed wallcycle subcounters¶
The MPI receive buffer has to be as long as the send buffer, but the problem can only be seen if you configure with GMX_CYCLE_SUBCOUNTERS on.
Removed dihedrals from GLY .rtp entry.¶
This is the only FF file that uses these dihedrals for GLY, which prevent the generation of a topology involving GLY-PRO because of the assumption that +H exists. Removing all explicit [dihedrals] to conform to the same format as all other AMBER FF.
Fixed broken OpenCL build and detection¶
Fixed that an extra semicolon in CMake code broke the OpenCL build everywhere.
Fixed that the OpenCL device compatibility test was broken all platforms other than OS X.
Improved NVML support¶
Introduced a check on the NVML API version in order to avoid compilation issues when old driver/NVML versions are picked up.
Reworded and added hints related to fixing/working around the issues presented to the user.
Eliminated the note about unsuccessful NVML detection that appears after the first cmake run.
Add CUDA nvcc >=7.0 support¶
With CUDA 7.x, there is a few % performance benefit to using sm_52 arch as target instead of JIT-ed compute_50, mostly relevant with the newly released v7.5 (as v7.0 has other regressions which make it slower).
This change adds a single new target architecture (5.2) and changes the virtual architecture included in the binary from 5.0 to 5.2 with new enough nvcc to make 5.1.x versions future-proof when new hardware is released.
Fixed nbnxn_4xN performance regression¶
Commit 8e92fd67 changed the 2xNN kernel to use gmx_simd_blendnotzero_r and the 4xN kernel to use gmx_simd_blendv_r. Making the 4xN kernel consistent with the 2xNN kernel improves the performance with AVX2 with 4% and 3% for the RF and PME kernels, respectively.
Fixed GMX_EXTERNAL_BOOST configuration¶
Fixed syntax of PME tuning error message¶
The ‘%’ preceding the format specifier was missing.
Made bash completions work with bash –posix¶
Replace dashes in generated function names with underscores.
Related to Issue 1840.
Fixed mdrun -nb auto -rerun with GPU and energy groups¶
mdrun -nb auto -rerun
behaved as if -nb gpu
had
been used (gave a fatal error). Now fixed, so that the use of
energy groups triggers a CPU-only rerun as originally intended.
Fixed -seltype option for C++ tools¶
Accidentally unavailable in any tool (since 5.0), now fixed.
Fixed a reaction-field warning message¶
A wrong warning message was given when epsilon-rf
was non-zero.
Hardened FindSphinx.cmake¶
Particularly in cross-compilation environments, our CMake code could find Sphinx, fail to execute a test, and then respond inappropriately. Now fixed.