91f8cca080fa528083c76d2dd3f0b83960cc83b7
[alexxy/gromacs.git] / docs / release-notes / 2021 / major / miscellaneous.rst
1 Miscellaneous
2 ^^^^^^^^^^^^^
3
4 .. Note to developers!
5    Please use """"""" to underline the individual entries for fixed issues in the subfolders,
6    otherwise the formatting on the webpage is messed up.
7    Also, please use the syntax :issue:`number` to reference issues on GitLab, without the
8    a space between the colon and number!
9
10 Default values for temperature and pressure coupling intervals are now 10
11 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
12 With the default mdp input value of -1 for nsttcouple and nstpcouple, grompp would
13 set these values to nstlist. Now these are set to 10 and thus independent of nstlist
14 (note that grompp may choose smaller values when needed for accurate integration).
15
16 Uniform and manual CMake GPU-support configuration
17 """"""""""""""""""""""""""""""""""""""""""""""""""
18 The GPU accelerations setup has been changed to be uniform for CUDA and OpenCL. Either
19 option is now enabled by setting GMX_GPU to CUDA or OpenCL in the CMake configuration.
20 To simplify the CMake code, we have also moved away from automated option selection
21 based on the build host. In particular, this means that CUDA will not be enabled unless
22 the GMX_GPU option is explicitly enabled, and CMake will no longer perform the extra
23 steps of trying to detect hardware and propose to install CUDA if hardware is available.
24 Apart from the simplification, this should also make it easier to handle multiple
25 different accelerator APIs targeting e.g. NVIDIA hardware.
26
27 Configuration-time trivalue options changed from autodetection to boolean on/off
28 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
29 To simplify the CMake configuration and avoid having multiple settings that
30 change outside of the users direct control we have removed the support for
31 automatically setting booleans. GMX_BUILD_HELP and GMX_HWLOC are now
32 disabled by default, while GMX_LOAD_PLUGINS is enabled by default.
33
34 gmxapi C++ interface
35 """"""""""""""""""""
36
37 ``gmxapi::Context`` is now created with ``gmxapi::createContext()``, which allows
38 the client to provide an MPI communicator for the library to use instead of its default
39 (e.g MPI_COMM_WORLD). MPI-enabled clients may use the :file:`gmxapi/mpi/gmxapi_mpi.h`
40 template header and the ``assignResource()`` helper to generate the argument to
41 ``createContext``.
42
43 Unification of several CUDA and OpenCL environment variables
44 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
45
46 The environment variables that had exactly the same meaning in OpenCL and CUDA were unified:
47
48 * GMX_CUDA_NB_ANA_EWALD and GMX_OCL_NB_ANA_EWALD into GMX_GPU_NB_ANA_EWALD
49 * GMX_CUDA_NB_TAB_EWALD and GMX_OCL_NB_TAB_EWALD into GMX_GPU_NB_TAB_EWALD
50 * GMX_CUDA_NB_EWALD_TWINCUT and GMX_OCL_NB_EWALD_TWINCUT into GMX_GPU_NB_EWALD_TWINCUT
51
52 Dysfunctional parts of the QMMM interface has been removed
53 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""
54
55 Currently, GROMACS supports QM/MM officially only via MiMiC. All other QM/MM
56 support has been untested and likely dysfunctional for years and has now been removed from .mdp
57 input and output, resulting in smaller .mdp output files from grompp.