Loading source/adios2/engine/dataman/DataManReader.tcc +2 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,8 @@ void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) { while (m_DataManDeserializer.Get(data, variable.m_Name, variable.m_Start, variable.m_Count, m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) { } } Loading source/adios2/engine/dataman/DataManWriter.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -61,7 +61,8 @@ void DataManWriter::EndStep() if (m_WorkflowMode == "file") { const std::shared_ptr<std::vector<char>> buf = m_DataManSerializer[0]->Get(); const std::shared_ptr<std::vector<char>> buf = m_DataManSerializer[0]->Get(); m_FileTransport.Write(buf->data(), buf->size()); return; } Loading @@ -74,7 +75,8 @@ void DataManWriter::EndStep() { m_DataManSerializer[i]->PutAttributes(m_IO, m_MPIRank); } const std::shared_ptr<std::vector<char>> buf = m_DataManSerializer[i]->Get(); const std::shared_ptr<std::vector<char>> buf = m_DataManSerializer[i]->Get(); m_BufferSize = buf->size() * 2; m_DataMan->WriteWAN(buf, i); } Loading source/adios2/helper/adiosMemory.inl +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ /// \cond EXCLUDE_FROM_DOXYGEN #include <algorithm> //std::copy #include <cstring> //std::memcpy #include <iostream> #include <thread> /// \endcond Loading Loading @@ -647,6 +648,7 @@ int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, const Dims &outMemCount, const bool safeMode) { // use values of ioStart and ioCount if ioMemStart and ioMemCount are // left as default Dims inMemStartNC = inMemStart.empty() ? inStart : inMemStart; Loading source/adios2/toolkit/format/dataman/DataManDeserializer.h +2 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,8 @@ public: int Put(const std::shared_ptr<const std::vector<char>> data); template <class T> int Get(T *output_data, const std::string &varName, const Dims &varStart, const Dims &varCount, const size_t step, const Dims varMemStart = Dims(), const Dims varMemCount = Dims()); const Dims &varCount, const size_t step, const Dims varMemStart = Dims(), const Dims varMemCount = Dims()); void Erase(const size_t step); struct DataManVar { Loading source/adios2/toolkit/format/dataman/DataManDeserializer.tcc +4 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ namespace format template <class T> int DataManDeserializer::Get(T *output_data, const std::string &varName, const Dims &varStart, const Dims &varCount, const size_t step, const Dims varMemStart, const Dims varMemCount) const size_t step, const Dims varMemStart, const Dims varMemCount) { std::lock_guard<std::mutex> l(m_Mutex); Loading Loading @@ -184,7 +185,8 @@ int DataManDeserializer::Get(T *output_data, const std::string &varName, helper::NdCopy<T>( k->data() + j.position, j.start, j.count, j.isRowMajor, j.isLittleEndian, reinterpret_cast<char *>(output_data), varStart, varCount, m_IsRowMajor, m_IsLittleEndian); varStart, varCount, m_IsRowMajor, m_IsLittleEndian, j.start, j.count, varMemStart, varMemCount); } } } Loading Loading
source/adios2/engine/dataman/DataManReader.tcc +2 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,8 @@ void DataManReader::GetDeferredCommon(Variable<T> &variable, T *data) { while (m_DataManDeserializer.Get(data, variable.m_Name, variable.m_Start, variable.m_Count, m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) m_CurrentStep, variable.m_MemoryStart, variable.m_MemoryCount) != 0) { } } Loading
source/adios2/engine/dataman/DataManWriter.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -61,7 +61,8 @@ void DataManWriter::EndStep() if (m_WorkflowMode == "file") { const std::shared_ptr<std::vector<char>> buf = m_DataManSerializer[0]->Get(); const std::shared_ptr<std::vector<char>> buf = m_DataManSerializer[0]->Get(); m_FileTransport.Write(buf->data(), buf->size()); return; } Loading @@ -74,7 +75,8 @@ void DataManWriter::EndStep() { m_DataManSerializer[i]->PutAttributes(m_IO, m_MPIRank); } const std::shared_ptr<std::vector<char>> buf = m_DataManSerializer[i]->Get(); const std::shared_ptr<std::vector<char>> buf = m_DataManSerializer[i]->Get(); m_BufferSize = buf->size() * 2; m_DataMan->WriteWAN(buf, i); } Loading
source/adios2/helper/adiosMemory.inl +2 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ /// \cond EXCLUDE_FROM_DOXYGEN #include <algorithm> //std::copy #include <cstring> //std::memcpy #include <iostream> #include <thread> /// \endcond Loading Loading @@ -647,6 +648,7 @@ int NdCopy(const char *in, const Dims &inStart, const Dims &inCount, const Dims &outMemCount, const bool safeMode) { // use values of ioStart and ioCount if ioMemStart and ioMemCount are // left as default Dims inMemStartNC = inMemStart.empty() ? inStart : inMemStart; Loading
source/adios2/toolkit/format/dataman/DataManDeserializer.h +2 −1 Original line number Diff line number Diff line Loading @@ -34,7 +34,8 @@ public: int Put(const std::shared_ptr<const std::vector<char>> data); template <class T> int Get(T *output_data, const std::string &varName, const Dims &varStart, const Dims &varCount, const size_t step, const Dims varMemStart = Dims(), const Dims varMemCount = Dims()); const Dims &varCount, const size_t step, const Dims varMemStart = Dims(), const Dims varMemCount = Dims()); void Erase(const size_t step); struct DataManVar { Loading
source/adios2/toolkit/format/dataman/DataManDeserializer.tcc +4 −2 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ namespace format template <class T> int DataManDeserializer::Get(T *output_data, const std::string &varName, const Dims &varStart, const Dims &varCount, const size_t step, const Dims varMemStart, const Dims varMemCount) const size_t step, const Dims varMemStart, const Dims varMemCount) { std::lock_guard<std::mutex> l(m_Mutex); Loading Loading @@ -184,7 +185,8 @@ int DataManDeserializer::Get(T *output_data, const std::string &varName, helper::NdCopy<T>( k->data() + j.position, j.start, j.count, j.isRowMajor, j.isLittleEndian, reinterpret_cast<char *>(output_data), varStart, varCount, m_IsRowMajor, m_IsLittleEndian); varStart, varCount, m_IsRowMajor, m_IsLittleEndian, j.start, j.count, varMemStart, varMemCount); } } } Loading