diff --git a/CMakeLists_files.cmake b/CMakeLists_files.cmake index 03dfe6516..c72eae09e 100644 --- a/CMakeLists_files.cmake +++ b/CMakeLists_files.cmake @@ -241,6 +241,8 @@ if(MPI_FOUND) opm/simulators/utils/ParallelNLDDPartitioningZoltan.cpp opm/simulators/utils/ParallelSerialization.cpp opm/simulators/utils/SetupZoltanParams.cpp) + list(APPEND PUBLIC_HEADER_FILES opm/simulators/utils/MPIPacker.hpp + opm/simulators/utils/MPISerializer.hpp) endif() if(HDF5_FOUND) list(APPEND MAIN_SOURCE_FILES opm/simulators/utils/HDF5File.cpp) @@ -416,7 +418,6 @@ list (APPEND PUBLIC_HEADER_FILES ebos/eclgenericwriter.hh ebos/eclgenericwriter_impl.hh ebos/eclmixingratecontrols.hh - ebos/eclmpiserializer.hh ebos/eclnewtonmethod.hh ebos/ecloutputblackoilmodule.hh ebos/eclpolyhedralgridvanguard.hh diff --git a/ebos/eclgenericcpgridvanguard.cc b/ebos/eclgenericcpgridvanguard.cc index 76161703b..b6543871f 100644 --- a/ebos/eclgenericcpgridvanguard.cc +++ b/ebos/eclgenericcpgridvanguard.cc @@ -26,7 +26,7 @@ #include #if HAVE_MPI -#include +#include #endif #include @@ -365,7 +365,7 @@ void EclGenericCpGridVanguard::doCreateGrids_(Ecl // other processes if (has_numerical_aquifer && mpiSize > 1) { auto nnc_input = eclState.getInputNNC(); - EclMpiSerializer ser(grid_->comm()); + Parallel::MpiSerializer ser(grid_->comm()); ser.broadcast(nnc_input); if (mpiRank > 0) { eclState.setInputNNC(nnc_input); diff --git a/ebos/eclgenericwriter_impl.hh b/ebos/eclgenericwriter_impl.hh index be1b74a98..356eb06b6 100644 --- a/ebos/eclgenericwriter_impl.hh +++ b/ebos/eclgenericwriter_impl.hh @@ -45,7 +45,7 @@ #include #if HAVE_MPI -#include +#include #endif #if HAVE_MPI @@ -257,7 +257,7 @@ writeInit(const std::function& map) #if HAVE_MPI if (collectToIORank_.isParallel()) { const auto& comm = grid_.comm(); - Opm::EclMpiSerializer ser(comm); + Opm::Parallel::MpiSerializer ser(comm); ser.broadcast(outputNnc_); } #endif @@ -659,7 +659,7 @@ evalSummary(const int reportStepNum, #if HAVE_MPI if (collectToIORank_.isParallel()) { - EclMpiSerializer ser(grid_.comm()); + Parallel::MpiSerializer ser(grid_.comm()); ser.append(summaryState); } #endif diff --git a/ebos/eclmpiserializer.hh b/opm/simulators/utils/MPISerializer.hpp similarity index 95% rename from ebos/eclmpiserializer.hh rename to opm/simulators/utils/MPISerializer.hpp index ba0a6e8e1..09182d7a9 100644 --- a/ebos/eclmpiserializer.hh +++ b/opm/simulators/utils/MPISerializer.hpp @@ -18,19 +18,19 @@ module for the precise wording of the license and the list of copyright holders. */ -#ifndef ECL_MPI_SERIALIZER_HH -#define ECL_MPI_SERIALIZER_HH +#ifndef MPI_SERIALIZER_HPP +#define MPI_SERIALIZER_HPP #include #include #include -namespace Opm { +namespace Opm::Parallel { //! \brief Class for serializing and broadcasting data using MPI. -class EclMpiSerializer : public Serializer { +class MpiSerializer : public Serializer { public: - EclMpiSerializer(Parallel::Communication comm) + MpiSerializer(Parallel::Communication comm) : Serializer(m_packer) , m_packer(comm) , m_comm(comm) diff --git a/opm/simulators/utils/ParallelRestart.cpp b/opm/simulators/utils/ParallelRestart.cpp index 5f2bb88bb..6882a9f5d 100644 --- a/opm/simulators/utils/ParallelRestart.cpp +++ b/opm/simulators/utils/ParallelRestart.cpp @@ -24,7 +24,7 @@ #endif #if HAVE_MPI -#include +#include #endif #include @@ -51,7 +51,7 @@ RestartValue loadParallelRestart(const EclipseIO* eclIO, restartValues = eclIO->loadRestart(actionState, summaryState, solutionKeys, extraKeys); } - EclMpiSerializer ser(comm); + Parallel::MpiSerializer ser(comm); ser.broadcast(0, restartValues, summaryState); return restartValues; #else diff --git a/opm/simulators/utils/ParallelSerialization.cpp b/opm/simulators/utils/ParallelSerialization.cpp index 6bb802b60..34873f658 100644 --- a/opm/simulators/utils/ParallelSerialization.cpp +++ b/opm/simulators/utils/ParallelSerialization.cpp @@ -63,7 +63,7 @@ #include -#include +#include #include @@ -75,14 +75,14 @@ void eclStateBroadcast(Parallel::Communication comm, EclipseState& eclState, Sch Action::State& actionState, WellTestState& wtestState) { - Opm::EclMpiSerializer ser(comm); + Opm::Parallel::MpiSerializer ser(comm); ser.broadcast(0, eclState, schedule, summaryConfig, udqState, actionState, wtestState); } template void eclBroadcast(Parallel::Communication comm, T& data) { - Opm::EclMpiSerializer ser(comm); + Opm::Parallel::MpiSerializer ser(comm); ser.broadcast(data); } diff --git a/opm/simulators/utils/PropsDataHandle.hpp b/opm/simulators/utils/PropsDataHandle.hpp index 120d8c237..7e65fef3c 100644 --- a/opm/simulators/utils/PropsDataHandle.hpp +++ b/opm/simulators/utils/PropsDataHandle.hpp @@ -73,7 +73,7 @@ public: m_distributed_fieldProps.copyTran(globalProps); } - EclMpiSerializer ser(comm); + Parallel::MpiSerializer ser(comm); ser.broadcast(*this); m_no_data = m_intKeys.size() + m_doubleKeys.size(); diff --git a/opm/simulators/wells/BlackoilWellModel_impl.hpp b/opm/simulators/wells/BlackoilWellModel_impl.hpp index a338224ad..ced43a236 100644 --- a/opm/simulators/wells/BlackoilWellModel_impl.hpp +++ b/opm/simulators/wells/BlackoilWellModel_impl.hpp @@ -37,7 +37,7 @@ #include #if HAVE_MPI -#include +#include #endif #include @@ -1411,7 +1411,7 @@ namespace Opm { group_alq_rates.resize(num_rates_to_sync); } #if HAVE_MPI - EclMpiSerializer ser(comm); + Parallel::MpiSerializer ser(comm); ser.broadcast(i, group_indexes, group_oil_rates, group_gas_rates, group_water_rates, group_alq_rates); #endif diff --git a/tests/test_ParallelSerialization.cpp b/tests/test_ParallelSerialization.cpp index f5e8d9c8f..b1ba7e8ce 100644 --- a/tests/test_ParallelSerialization.cpp +++ b/tests/test_ParallelSerialization.cpp @@ -143,14 +143,14 @@ #include #include #include -#include +#include template std::tuple PackUnpack(T& in) { const auto& comm = Dune::MPIHelper::getCommunication(); - Opm::EclMpiSerializer ser(comm); + Opm::Parallel::MpiSerializer ser(comm); ser.pack(in); const size_t pos1 = ser.position(); T out; diff --git a/tests/test_broadcast.cpp b/tests/test_broadcast.cpp index fffd4b150..596a2516a 100644 --- a/tests/test_broadcast.cpp +++ b/tests/test_broadcast.cpp @@ -26,7 +26,7 @@ #include #include -#include +#include #include #include @@ -71,7 +71,7 @@ BOOST_AUTO_TEST_CASE(BroadCast) double d1 = cc.rank() == 1 ? 7.0 : 0.0; size_t i1 = cc.rank() == 1 ? 8 : 0; - Opm::EclMpiSerializer ser(cc); + Opm::Parallel::MpiSerializer ser(cc); ser.broadcast(1, d, i, d1, i1); for (size_t c = 0; c < 3; ++c) {