Encapsulate multi-process communication
Created by: bradking
Much of ADIOS's functionality is applicable to any multi-process communication environment, not just MPI. Disconnect the non-MPI-specific parts of our implementation from MPI. Replace direct use of MPI_Comm
and MPI functions with a helper::Comm
wrapper that encapsulates MPI functionality. This makes room for future abstraction of multi-process communication behind the encapsulated API.
Start by encapsulating MPI functions and the types MPI_Comm
, MPI_Request
, and MPI_Status
behind wrappers in helper::Comm
. For now leave encapsulation of MPI constants to future work.