Loading source/adios2/engine/dataman/DataManReader.tcc +16 −7 Original line number Diff line number Diff line Loading @@ -32,20 +32,29 @@ void DataManReader::GetSyncCommon(Variable<T> &variable, T *data) template <class T> void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) { if (m_WorkflowMode == "subscribe") if (m_IsRowMajor) { while (m_DataManDeserializer.Get(data, variable.m_Name, variable.m_Start, variable.m_Count, m_CurrentStep) != 0) m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) { } } else if (m_WorkflowMode == "p2p") else { while (m_DataManDeserializer.Get(data, variable.m_Name, variable.m_Start, variable.m_Count, m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) Dims start = variable.m_Start; Dims count = variable.m_Count; Dims memstart = variable.m_MemoryStart; Dims memcount = variable.m_MemoryCount; std::reverse(start.begin(), start.end()); std::reverse(count.begin(), count.end()); std::reverse(memstart.begin(), memstart.end()); std::reverse(memcount.begin(), memcount.end()); while (m_DataManDeserializer.Get(data, variable.m_Name, start, count, m_CurrentStep, memstart, memcount) != 0) { } } Loading source/adios2/engine/dataman/DataManWriter.tcc +21 −29 Original line number Diff line number Diff line Loading @@ -51,42 +51,34 @@ void DataManWriter::PutDeferredCommon(Variable<T> &variable, const T *values) variable.m_Start.assign(variable.m_Count.size(), 0); } if (m_IsRowMajor == false) { std::reverse(variable.m_Start.begin(), variable.m_Start.end()); std::reverse(variable.m_Count.begin(), variable.m_Count.end()); std::reverse(variable.m_Shape.begin(), variable.m_Shape.end()); std::reverse(variable.m_MemoryStart.begin(), variable.m_MemoryStart.end()); std::reverse(variable.m_MemoryCount.begin(), variable.m_MemoryCount.end()); } if (m_Format == "dataman") if (m_IsRowMajor) { for (size_t i = 0; i < m_TransportChannels; ++i) { if (m_WorkflowMode == "subscribe") { m_DataManSerializer[i]->Put(variable, m_Name, CurrentStep(), m_MPIRank, "", m_IO.m_TransportsParameters[i]); } } else { m_DataManSerializer[i]->Put(variable, m_Name, CurrentStep(), m_MPIRank, "", m_IO.m_TransportsParameters[i]); } } } else if (m_Format == "binary") Dims start = variable.m_Start; Dims count = variable.m_Count; Dims shape = variable.m_Shape; Dims memstart = variable.m_MemoryStart; Dims memcount = variable.m_MemoryCount; std::reverse(start.begin(), start.end()); std::reverse(count.begin(), count.end()); std::reverse(shape.begin(), shape.end()); std::reverse(memstart.begin(), memstart.end()); std::reverse(memcount.begin(), memcount.end()); for (size_t i = 0; i < m_TransportChannels; ++i) { m_DataManSerializer[i]->Put(variable.m_Data, variable.m_Name, shape, start, count, memstart, memcount, m_Name, CurrentStep(), m_MPIRank, "", m_IO.m_TransportsParameters[i]); } else { throw(std::invalid_argument( "[DataManWriter::PutSyncCommon] invalid format " + m_Format)); } } Loading testing/adios2/engine/dataman/TestDataManP2P1D.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ TEST_F(DataManEngineTest, WriteRead_1D_P2P) std::vector<adios2::Params> transportParams = {{{"Library", "ZMQ"}, {"IPAddress", "127.0.0.1"}, {"Port", "12306"}, {"Timeout", "2"}}}; {"Timeout", "5"}}}; // run workflow auto r = std::thread(DataManReaderP2P, shape, start, count, steps, Loading Loading
source/adios2/engine/dataman/DataManReader.tcc +16 −7 Original line number Diff line number Diff line Loading @@ -32,20 +32,29 @@ void DataManReader::GetSyncCommon(Variable<T> &variable, T *data) template <class T> void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) { if (m_WorkflowMode == "subscribe") if (m_IsRowMajor) { while (m_DataManDeserializer.Get(data, variable.m_Name, variable.m_Start, variable.m_Count, m_CurrentStep) != 0) m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) { } } else if (m_WorkflowMode == "p2p") else { while (m_DataManDeserializer.Get(data, variable.m_Name, variable.m_Start, variable.m_Count, m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) Dims start = variable.m_Start; Dims count = variable.m_Count; Dims memstart = variable.m_MemoryStart; Dims memcount = variable.m_MemoryCount; std::reverse(start.begin(), start.end()); std::reverse(count.begin(), count.end()); std::reverse(memstart.begin(), memstart.end()); std::reverse(memcount.begin(), memcount.end()); while (m_DataManDeserializer.Get(data, variable.m_Name, start, count, m_CurrentStep, memstart, memcount) != 0) { } } Loading
source/adios2/engine/dataman/DataManWriter.tcc +21 −29 Original line number Diff line number Diff line Loading @@ -51,42 +51,34 @@ void DataManWriter::PutDeferredCommon(Variable<T> &variable, const T *values) variable.m_Start.assign(variable.m_Count.size(), 0); } if (m_IsRowMajor == false) { std::reverse(variable.m_Start.begin(), variable.m_Start.end()); std::reverse(variable.m_Count.begin(), variable.m_Count.end()); std::reverse(variable.m_Shape.begin(), variable.m_Shape.end()); std::reverse(variable.m_MemoryStart.begin(), variable.m_MemoryStart.end()); std::reverse(variable.m_MemoryCount.begin(), variable.m_MemoryCount.end()); } if (m_Format == "dataman") if (m_IsRowMajor) { for (size_t i = 0; i < m_TransportChannels; ++i) { if (m_WorkflowMode == "subscribe") { m_DataManSerializer[i]->Put(variable, m_Name, CurrentStep(), m_MPIRank, "", m_IO.m_TransportsParameters[i]); } } else { m_DataManSerializer[i]->Put(variable, m_Name, CurrentStep(), m_MPIRank, "", m_IO.m_TransportsParameters[i]); } } } else if (m_Format == "binary") Dims start = variable.m_Start; Dims count = variable.m_Count; Dims shape = variable.m_Shape; Dims memstart = variable.m_MemoryStart; Dims memcount = variable.m_MemoryCount; std::reverse(start.begin(), start.end()); std::reverse(count.begin(), count.end()); std::reverse(shape.begin(), shape.end()); std::reverse(memstart.begin(), memstart.end()); std::reverse(memcount.begin(), memcount.end()); for (size_t i = 0; i < m_TransportChannels; ++i) { m_DataManSerializer[i]->Put(variable.m_Data, variable.m_Name, shape, start, count, memstart, memcount, m_Name, CurrentStep(), m_MPIRank, "", m_IO.m_TransportsParameters[i]); } else { throw(std::invalid_argument( "[DataManWriter::PutSyncCommon] invalid format " + m_Format)); } } Loading
testing/adios2/engine/dataman/TestDataManP2P1D.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ TEST_F(DataManEngineTest, WriteRead_1D_P2P) std::vector<adios2::Params> transportParams = {{{"Library", "ZMQ"}, {"IPAddress", "127.0.0.1"}, {"Port", "12306"}, {"Timeout", "2"}}}; {"Timeout", "5"}}}; // run workflow auto r = std::thread(DataManReaderP2P, shape, start, count, steps, Loading