Loading source/adios2/engine/dataman/DataManCommon.h +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ protected: bool m_IsLittleEndian; bool m_IsRowMajor; bool m_ContiguousMajor = true; bool m_ContiguousMajor = false; transport::FileFStream m_FileTransport; Loading source/adios2/engine/dataman/DataManReader.tcc +24 −12 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ void DataManReader::GetSyncCommon(Variable<T> &variable, T *data) template <class T> void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) { if (m_IsRowMajor || m_ContiguousMajor) if (m_IsRowMajor) { while (m_DataManDeserializer.Get(data, variable.m_Name, variable.m_Start, variable.m_Count, Loading @@ -42,6 +42,8 @@ void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) } } else { if (m_ContiguousMajor) { Dims start = variable.m_Start; Dims count = variable.m_Count; Loading @@ -51,12 +53,22 @@ void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) 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, while (m_DataManDeserializer.Get(data, variable.m_Name, start, count, m_CurrentStep, memstart, memcount) != 0) { } } else { while (m_DataManDeserializer.Get( data, variable.m_Name, variable.m_Start, variable.m_Count, m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) { } } } } template <typename T> Loading source/adios2/engine/dataman/DataManWriter.tcc +28 −16 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ void DataManWriter::PutDeferredCommon(Variable<T> &variable, const T *values) variable.m_Start.assign(variable.m_Count.size(), 0); } if (m_IsRowMajor || m_ContiguousMajor) if (m_IsRowMajor) { for (size_t i = 0; i < m_TransportChannels; ++i) { Loading @@ -61,6 +61,8 @@ void DataManWriter::PutDeferredCommon(Variable<T> &variable, const T *values) } } else { if (m_ContiguousMajor) { Dims start = variable.m_Start; Dims count = variable.m_Count; Loading @@ -74,12 +76,22 @@ void DataManWriter::PutDeferredCommon(Variable<T> &variable, const T *values) 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_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 { for (size_t i = 0; i < m_TransportChannels; ++i) { m_DataManSerializer[i]->Put(variable, m_Name, CurrentStep(), m_MPIRank, "", m_IO.m_TransportsParameters[i]); } } } } } // end namespace engine Loading source/adios2/helper/adiosMemory.inl +14 −13 Original line number Diff line number Diff line Loading @@ -899,7 +899,8 @@ int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, // get reversed order outOvlpStart Dims revOvlpStart(ovlpStart); std::reverse(revOvlpStart.begin(), revOvlpStart.end()); GetRltvOvlpStartPos(outRltvOvlpStartPos, outMemStartNC, revOvlpStart); GetRltvOvlpStartPos(outRltvOvlpStartPos, outMemStartNC, revOvlpStart); } // col-major ==> row-major mode else if (!inIsRowMajor && outIsRowMajor) Loading Loading
source/adios2/engine/dataman/DataManCommon.h +1 −1 Original line number Diff line number Diff line Loading @@ -45,7 +45,7 @@ protected: bool m_IsLittleEndian; bool m_IsRowMajor; bool m_ContiguousMajor = true; bool m_ContiguousMajor = false; transport::FileFStream m_FileTransport; Loading
source/adios2/engine/dataman/DataManReader.tcc +24 −12 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ void DataManReader::GetSyncCommon(Variable<T> &variable, T *data) template <class T> void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) { if (m_IsRowMajor || m_ContiguousMajor) if (m_IsRowMajor) { while (m_DataManDeserializer.Get(data, variable.m_Name, variable.m_Start, variable.m_Count, Loading @@ -42,6 +42,8 @@ void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) } } else { if (m_ContiguousMajor) { Dims start = variable.m_Start; Dims count = variable.m_Count; Loading @@ -51,12 +53,22 @@ void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) 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, while (m_DataManDeserializer.Get(data, variable.m_Name, start, count, m_CurrentStep, memstart, memcount) != 0) { } } else { while (m_DataManDeserializer.Get( data, variable.m_Name, variable.m_Start, variable.m_Count, m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) { } } } } template <typename T> Loading
source/adios2/engine/dataman/DataManWriter.tcc +28 −16 Original line number Diff line number Diff line Loading @@ -51,7 +51,7 @@ void DataManWriter::PutDeferredCommon(Variable<T> &variable, const T *values) variable.m_Start.assign(variable.m_Count.size(), 0); } if (m_IsRowMajor || m_ContiguousMajor) if (m_IsRowMajor) { for (size_t i = 0; i < m_TransportChannels; ++i) { Loading @@ -61,6 +61,8 @@ void DataManWriter::PutDeferredCommon(Variable<T> &variable, const T *values) } } else { if (m_ContiguousMajor) { Dims start = variable.m_Start; Dims count = variable.m_Count; Loading @@ -74,12 +76,22 @@ void DataManWriter::PutDeferredCommon(Variable<T> &variable, const T *values) 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_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 { for (size_t i = 0; i < m_TransportChannels; ++i) { m_DataManSerializer[i]->Put(variable, m_Name, CurrentStep(), m_MPIRank, "", m_IO.m_TransportsParameters[i]); } } } } } // end namespace engine Loading
source/adios2/helper/adiosMemory.inl +14 −13 Original line number Diff line number Diff line Loading @@ -899,7 +899,8 @@ int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, // get reversed order outOvlpStart Dims revOvlpStart(ovlpStart); std::reverse(revOvlpStart.begin(), revOvlpStart.end()); GetRltvOvlpStartPos(outRltvOvlpStartPos, outMemStartNC, revOvlpStart); GetRltvOvlpStartPos(outRltvOvlpStartPos, outMemStartNC, revOvlpStart); } // col-major ==> row-major mode else if (!inIsRowMajor && outIsRowMajor) Loading