Loading source/adios2/core/Engine.tcc +1 −1 Original line number Diff line number Diff line Loading @@ -185,7 +185,7 @@ void Engine::CommonChecks(Variable<T> &variable, const T *data, data, "for data argument in non-zero count block, " + hint); } /* /* Commented out by Jason for allowing SetMemorySelection on reader if (!variable.m_MemoryStart.empty() && m_OpenMode == adios2::Mode::Read) { throw std::invalid_argument("ERROR: from Engine " + m_Name + Loading source/adios2/engine/dataman/DataManReader.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ namespace engine DataManReader::DataManReader(IO &io, const std::string &name, const Mode mode, MPI_Comm mpiComm) : DataManCommon("DataManReader", io, name, mode, mpiComm), m_DataManDeserializer(m_IsRowMajor, m_IsLittleEndian) m_DataManDeserializer(true, m_IsLittleEndian) { m_EndMessage = " in call to IO Open DataManReader " + m_Name + "\n"; Init(); Loading source/adios2/engine/dataman/DataManWriter.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ void DataManWriter::Init() for (size_t i = 0; i < m_TransportChannels; ++i) { m_DataManSerializer.push_back( std::make_shared<format::DataManSerializer>(m_IsRowMajor, std::make_shared<format::DataManSerializer>(true, m_IsLittleEndian)); } } Loading source/adios2/engine/dataman/DataManWriter.tcc +11 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,17 @@ 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") { for (size_t i = 0; i < m_TransportChannels; ++i) Loading testing/adios2/engine/dataman/CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ # accompanying file Copyright.txt for details. #------------------------------------------------------------------------------# add_executable(TestDataManP2P2DMemSelect TestDataManP2P2DMemSelect.cpp) target_link_libraries(TestDataManP2P2DMemSelect adios2 gtest) if(ADIOS2_HAVE_MPI) Loading Loading
source/adios2/core/Engine.tcc +1 −1 Original line number Diff line number Diff line Loading @@ -185,7 +185,7 @@ void Engine::CommonChecks(Variable<T> &variable, const T *data, data, "for data argument in non-zero count block, " + hint); } /* /* Commented out by Jason for allowing SetMemorySelection on reader if (!variable.m_MemoryStart.empty() && m_OpenMode == adios2::Mode::Read) { throw std::invalid_argument("ERROR: from Engine " + m_Name + Loading
source/adios2/engine/dataman/DataManReader.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ namespace engine DataManReader::DataManReader(IO &io, const std::string &name, const Mode mode, MPI_Comm mpiComm) : DataManCommon("DataManReader", io, name, mode, mpiComm), m_DataManDeserializer(m_IsRowMajor, m_IsLittleEndian) m_DataManDeserializer(true, m_IsLittleEndian) { m_EndMessage = " in call to IO Open DataManReader " + m_Name + "\n"; Init(); Loading
source/adios2/engine/dataman/DataManWriter.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -115,7 +115,7 @@ void DataManWriter::Init() for (size_t i = 0; i < m_TransportChannels; ++i) { m_DataManSerializer.push_back( std::make_shared<format::DataManSerializer>(m_IsRowMajor, std::make_shared<format::DataManSerializer>(true, m_IsLittleEndian)); } } Loading
source/adios2/engine/dataman/DataManWriter.tcc +11 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,17 @@ 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") { for (size_t i = 0; i < m_TransportChannels; ++i) Loading
testing/adios2/engine/dataman/CMakeLists.txt +1 −0 Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ # accompanying file Copyright.txt for details. #------------------------------------------------------------------------------# add_executable(TestDataManP2P2DMemSelect TestDataManP2P2DMemSelect.cpp) target_link_libraries(TestDataManP2P2DMemSelect adios2 gtest) if(ADIOS2_HAVE_MPI) Loading