Encapsulate multi-process communication (part 3)
Created by: bradking
Continue work after #1691 and #1817 to encapsulate multi-process communication behind a helper::Comm
API:
-
Use MPI interfaces if and only if
ADIOS2_HAVE_MPI
is defined. Everything besides SST now uses eitherhelper::Comm
for general-purpose communication or MPI directly in MPI-only functionality. -
Build the MPI backend to
helper::Comm
(accessed viaadiosCommMPI.h
) only whenADIOS2_HAVE_MPI
is defined. Otherwise build only the dummy backend for use in serial programs. -
This leaves only the sst engine using mpiwrap/mpidummy (for its C code), so move their sources over into sst directories.