polaroid-pp

Schlieren and contour plot tool
git clone https://git.0xfab.ch/polaroid-pp.git
Log | Files | Refs | Submodules | README | LICENSE

commit e55a93f29b5f3f1f8d56f380e4c580fe98b9d45d
parent cf6118cb14dc3ba1b062a2144f2545989860fcfe
Author: Fabian Wermelinger <fabianw@mavt.ethz.ch>
Date:   Mon, 26 Sep 2016 19:30:01 +0200

added MPI_Comm to OrganizerMPI

Diffstat:
Mapps/OrganizerMPI.cpp | 2+-
Mapps/OrganizerMPI.h | 11++++++-----
2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/apps/OrganizerMPI.cpp b/apps/OrganizerMPI.cpp @@ -11,7 +11,7 @@ using namespace std; -OrganizerMPI::OrganizerMPI(const int argc, char ** const argv) : m_nscenes(0), m_scenes(nullptr), m_argc(1) +OrganizerMPI::OrganizerMPI(const int argc, char ** const argv, const MPI_Comm comm) : m_nscenes(0), m_scenes(nullptr), m_argc(1), m_comm(comm) { m_isroot = (rank() == 0) ? true : false; diff --git a/apps/OrganizerMPI.h b/apps/OrganizerMPI.h @@ -21,32 +21,33 @@ private: int m_nscenes; char** m_scenes; int m_argc; + const MPI_Comm m_comm; bool m_isroot; public: - OrganizerMPI(const int argc, char ** const argv); + OrganizerMPI(const int argc, char ** const argv, const MPI_Comm comm=MPI_COMM_WORLD); inline int size() const { int size; - MPI_Comm_size(MPI_COMM_WORLD, &size); + MPI_Comm_size(m_comm, &size); return size; } inline int rank() const { int rank; - MPI_Comm_rank(MPI_COMM_WORLD, &rank); + MPI_Comm_rank(m_comm, &rank); return rank; } std::vector<char*> split_work() const; inline int argc() const { return m_argc; } inline bool isroot() const { return m_isroot; } - inline void wait() const { MPI_Barrier(MPI_COMM_WORLD); } + inline void wait() const { MPI_Barrier(m_comm); } inline void allreduce(void* send, void* recv, int count, MPI_Datatype type, MPI_Op op) { - MPI_Allreduce(send, recv, count, type, op, MPI_COMM_WORLD); + MPI_Allreduce(send, recv, count, type, op, m_comm); } };