Add dynamic pair-list pruning framework
authorBerk Hess <hess@kth.se>
Fri, 24 Mar 2017 13:22:21 +0000 (14:22 +0100)
committerMark Abraham <mark.j.abraham@gmail.com>
Wed, 16 Aug 2017 20:14:52 +0000 (22:14 +0200)
commit0e49e1983d6eb51adb3c3cb3e0ba73fe446d9bdf
treeb3112e183751a944c721401e7c97890d9b110c86
parent6ca52dcf0bf0f39d03fc21531bd88e12b50ac4e6
Add dynamic pair-list pruning framework

The change add the logistic for setting up dynamic pruning of the
nbnxn pair-lists. Dynamic pruning allows for an increase in nstlist
and rlist while computing fewer pair interactions in the non-bonded
kernel. This comes at the cost of running an extra pruning kernel
every few steps and added communication due to larger buffers.

The kernels, documentation and heuristic for choosing nstlist
will be added in separate changes.

Change-Id: Id8040b95f812df60f117279267bf551ff4ac8d79
25 files changed:
docs/user-guide/environment-variables.rst
src/gromacs/ewald/pme-load-balancing.cpp
src/gromacs/ewald/pme-load-balancing.h
src/gromacs/gmxpreprocess/grompp.cpp
src/gromacs/mdlib/calc_verletbuf.cpp
src/gromacs/mdlib/calc_verletbuf.h
src/gromacs/mdlib/forcerec.cpp
src/gromacs/mdlib/nb_verlet.h
src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_data_mgmt.cu
src/gromacs/mdlib/nbnxn_gpu.h
src/gromacs/mdlib/nbnxn_gpu_data_mgmt.h
src/gromacs/mdlib/nbnxn_kernels/nbnxn_kernel_cpu.cpp
src/gromacs/mdlib/nbnxn_ocl/nbnxn_ocl_data_mgmt.cpp
src/gromacs/mdlib/nbnxn_pairlist.h
src/gromacs/mdlib/nbnxn_search.cpp
src/gromacs/mdlib/nbnxn_search.h
src/gromacs/mdlib/nbnxn_tuning.cpp [new file with mode: 0644]
src/gromacs/mdlib/nbnxn_tuning.h [new file with mode: 0644]
src/gromacs/mdlib/sim_util.cpp
src/gromacs/mdtypes/interaction_const.h
src/gromacs/timing/gpu_timing.h
src/gromacs/timing/wallcycle.cpp
src/gromacs/timing/wallcycle.h
src/programs/mdrun/md.cpp
src/programs/mdrun/runner.cpp