Remove particle decomposition
authorMark Abraham <mark.j.abraham@gmail.com>
Sat, 12 Oct 2013 00:27:28 +0000 (02:27 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Thu, 20 Feb 2014 18:03:01 +0000 (19:03 +0100)
commit20fa2cda6cb71107146522de64bb2c0387fb8727
tree9f21bb8beb65be5040a7841cc2258b8110c8be10
parent81ae2fb6277b764049d0b3453476f6e614d93c40
Remove particle decomposition

The paths that are eliminated are those for which MD_PARTDECOMP was
needed, those triggered by PARTDECOMP(cr), and any for which PAR(cr)
&& !cr->dd.

Reviewers, please note
* that for the purposes of this patch, OpenMP is not a form of
  parallelism,
* the definition of DOMAINDECOMP(cr) in commrec.h,
* that TPI and NM can run in parallel, but use neither PD nor DD,
* multi-simulations run in parallel but need not use DD, so
* we still need both PAR(cr) and DOMAINDECOMP(cr), and
* I have generally left the indenting alone to make for easy review,
  but we will uncrustify before merging

Summary of changes in this patch:

Removed
* code triggered by MD_PARTDECOMP
* code triggered by PARTDECOMP(cr)
* anything decomposition-related with "pd" in the name (but the name
  clash with x86 vector intrinsics is unfortunate)
* t_mdatoms field called start (DD does atom number remapping)
Note that bPDvsitecomm was never set anyway!
* manual section

Renamed two functions with "pd" in their name changed to "serial"
because they are still needed there (and moved them?)

Deleted files, functions and function paramters that only supported PD
code paths.

Cleaned up
* use of DOMAINDECOMP(cr)
* a bit of Generalized Born code that should have been static or
  was unused
* bcast_state machinery can now be much simpler; still does the right
  thing, but does it further behind the scenes and easier to
  understand
* made explicit the assumption of replica exchange that the
  integrator is dynamical, which makes for some minor
  simplifications

Refs #1292

Change-Id: If029f16e6b4b06d58d465afe072a3cde6481479e
71 files changed:
manual/algorithms.tex
manual/install.tex
share/html/online/mdp_opt.html
src/gromacs/essentialdynamics/edsam.c
src/gromacs/fileio/mdoutf.c
src/gromacs/gmxana/gmx_disre.c
src/gromacs/gmxlib/checkpoint.c
src/gromacs/gmxlib/disre.c
src/gromacs/gmxlib/mvdata.c
src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsall.c
src/gromacs/gmxlib/nonbonded/nb_kernel_c/nb_kernel_allvsallgb.c
src/gromacs/gmxlib/orires.c
src/gromacs/gmxlib/splitter.c
src/gromacs/gmxlib/typedefs.c
src/gromacs/gmxpreprocess/addconf.c
src/gromacs/gmxpreprocess/readir.c
src/gromacs/gmxpreprocess/readpull.c
src/gromacs/legacyheaders/checkpoint.h
src/gromacs/legacyheaders/disre.h
src/gromacs/legacyheaders/force.h
src/gromacs/legacyheaders/genborn.h
src/gromacs/legacyheaders/mdatoms.h
src/gromacs/legacyheaders/mdrun.h
src/gromacs/legacyheaders/mvdata.h
src/gromacs/legacyheaders/nsgrid.h
src/gromacs/legacyheaders/orires.h
src/gromacs/legacyheaders/partdec.h [deleted file]
src/gromacs/legacyheaders/splitter.h
src/gromacs/legacyheaders/typedefs.h
src/gromacs/legacyheaders/types/commrec.h
src/gromacs/legacyheaders/types/mdatom.h
src/gromacs/legacyheaders/vsite.h
src/gromacs/mdlib/clincs.c
src/gromacs/mdlib/constr.c
src/gromacs/mdlib/coupling.c
src/gromacs/mdlib/domdec.c
src/gromacs/mdlib/domdec_top.c
src/gromacs/mdlib/expanded.c
src/gromacs/mdlib/force.c
src/gromacs/mdlib/forcerec.c
src/gromacs/mdlib/genborn.c
src/gromacs/mdlib/genborn_allvsall.c
src/gromacs/mdlib/genborn_allvsall.h
src/gromacs/mdlib/genborn_allvsall_sse2_double.c
src/gromacs/mdlib/genborn_allvsall_sse2_single.c
src/gromacs/mdlib/genborn_sse2_double.c
src/gromacs/mdlib/genborn_sse2_single.c
src/gromacs/mdlib/md_support.c
src/gromacs/mdlib/mdatom.c
src/gromacs/mdlib/minimize.c
src/gromacs/mdlib/mvxvf.c [deleted file]
src/gromacs/mdlib/ns.c
src/gromacs/mdlib/nsgrid.c
src/gromacs/mdlib/partdec.c [deleted file]
src/gromacs/mdlib/pme.c
src/gromacs/mdlib/rf_util.c
src/gromacs/mdlib/shellfc.c
src/gromacs/mdlib/sim_util.c
src/gromacs/mdlib/stat.c
src/gromacs/mdlib/tpi.c
src/gromacs/mdlib/update.c
src/gromacs/mdlib/vsite.c
src/gromacs/mdlib/wall.c
src/gromacs/pulling/pull.c
src/gromacs/pulling/pull_rotation.c
src/gromacs/pulling/pullutil.c
src/programs/mdrun/md.c
src/programs/mdrun/mdrun.cpp
src/programs/mdrun/repl_ex.c
src/programs/mdrun/repl_ex.h
src/programs/mdrun/runner.c