Use parallel terminology more consistently
authorMark Abraham <mark.j.abraham@gmail.com>
Tue, 20 May 2014 14:52:37 +0000 (16:52 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Sat, 28 Jun 2014 14:54:43 +0000 (16:54 +0200)
commitd408b61756f0ecaab12809088f6a15c466f9cae4
tree5a20c51d39921f97741f862bbd00cc6287cea80b
parentb8a3738b8cfb053b0a022fb94377bf07c3836665
Use parallel terminology more consistently

In user-facing docs, log and debug output, we should be consistent.
(Later, in master, we can fix the code and comments). Definitions:

* core: hardware that actually executes instructions
* socket: a group of cores sharing (e.g.) L3 cache
* node: a group of sockets not needing a network connection
  to run in parallel
* thread: vague - an instruction stream (but should not be used
  if one of the foregoing is more appropriate)
* rank: an MPI rank (of either flavour), thus containing at least
  one thread
* process: in mdrun, regarding parallelism, only used when
  needing to distinguish real MPI from tMPI
(These, or similar, will end up in some user docs shortly.)

The goal is to express ourselves in the most relevant abstraction, not
all of them. For example, we should talk about the number of OpenMP
threads per MPI rank without observing that there are two kinds of
implementations of MPI, unless we need to draw a relevant distinction
between those two kinds of implementations.

Where debug output seems more like dumping a data structure than
describing logical state, I've left the names in strings referring to
the members of the data structure (e.g. cr->nodeid, which refers to
the MPI rank).

Changed variable name in gmx_check_thread_affinity_set() from ncpus to
nthreads_hw_avail to make clear that the associated change to the
debug string is correct.

Doubtless there are still uses of "process" that should refer to
"rank," but we use "process" to mean very many different things, so it
is hard to use sed-like tools effectively. Ideally, clang libTooling
would make it easy to find only uses that are present in strings, but
I don't have time to learn how to do that now.

Change-Id: I4dc39dff8be81a30ce803d7833dc305d29d8d188
38 files changed:
manual/algorithms.tex
manual/install.tex
manual/plots/mpmd-pme.eps
manual/plots/mpmd-pme.fig
manual/special.tex
src/gromacs/essentialdynamics/edsam.c
src/gromacs/fft/fft5d.cpp
src/gromacs/gmxana/gmx_hbond.c
src/gromacs/gmxana/gmx_make_edi.c
src/gromacs/gmxana/gmx_pme_error.cpp
src/gromacs/gmxana/gmx_tune_pme.c
src/gromacs/gmxlib/bondfree.c
src/gromacs/gmxlib/checkpoint.c
src/gromacs/gmxlib/gmx_detect_hardware.c
src/gromacs/gmxlib/gmx_fatal.c
src/gromacs/gmxlib/gmx_omp_nthreads.c
src/gromacs/gmxlib/gmx_thread_affinity.c
src/gromacs/gmxlib/main.cpp
src/gromacs/gmxlib/network.c
src/gromacs/gmxlib/nrnb.c
src/gromacs/gmxlib/orires.c
src/gromacs/gmxlib/txtdump.c
src/gromacs/legacyheaders/network.h
src/gromacs/mdlib/domdec.c
src/gromacs/mdlib/domdec_con.c
src/gromacs/mdlib/domdec_setup.c
src/gromacs/mdlib/force.c
src/gromacs/mdlib/forcerec.c
src/gromacs/mdlib/pme.c
src/gromacs/mdlib/pme_pp.c
src/gromacs/mdlib/qmmm.c
src/gromacs/mdlib/sim_util.c
src/gromacs/swap/swapcoords.c
src/gromacs/timing/wallcycle.c
src/programs/legacymodules.cpp
src/programs/mdrun/mdrun.cpp
src/programs/mdrun/pme_loadbal.c
src/programs/mdrun/runner.c