From 2003879c6b6ea69018b8598155bfc6e375d57eec Mon Sep 17 00:00:00 2001 From: Jason Wang <wangr1@ornl.gov> Date: Fri, 17 Nov 2017 14:30:39 -0500 Subject: [PATCH] Added entry in DataManWriter engine for bp format --- source/adios2/engine/dataman/DataManWriter.h | 1 + .../adios2/engine/dataman/DataManWriter.tcc | 42 ++++++++++--------- 2 files changed, 24 insertions(+), 19 deletions(-) diff --git a/source/adios2/engine/dataman/DataManWriter.h b/source/adios2/engine/dataman/DataManWriter.h index 5f67a4bb1..2a401155b 100644 --- a/source/adios2/engine/dataman/DataManWriter.h +++ b/source/adios2/engine/dataman/DataManWriter.h @@ -33,6 +33,7 @@ public: void Close(const int transportIndex = -1) final; private: + std::string m_UseFormat = "json"; bool m_DoRealTime = false; bool m_DoMonitor = false; transportman::DataMan m_Man; diff --git a/source/adios2/engine/dataman/DataManWriter.tcc b/source/adios2/engine/dataman/DataManWriter.tcc index a85f949fe..1e536aa0e 100644 --- a/source/adios2/engine/dataman/DataManWriter.tcc +++ b/source/adios2/engine/dataman/DataManWriter.tcc @@ -22,13 +22,8 @@ namespace adios2 template <class T> void DataManWriter::PutSyncCommon(Variable<T> &variable, const T *values) { - // here comes your magic at Writing now variable.m_UserValues has the - // data - // passed by the user - // set variable - variable.SetData(values); - // This part will go away, this is just to monitor variables per rank + variable.SetData(values); if (variable.m_Shape.empty()) { @@ -43,19 +38,28 @@ void DataManWriter::PutSyncCommon(Variable<T> &variable, const T *values) variable.m_Start.assign(variable.m_Count.size(), 0); } - nlohmann::json jmsg; - jmsg["doid"] = m_Name; - jmsg["var"] = variable.m_Name; - jmsg["dtype"] = GetType<T>(); - jmsg["putshape"] = variable.m_Count; - jmsg["varshape"] = variable.m_Shape; - jmsg["offset"] = variable.m_Start; - jmsg["timestep"] = 0; - jmsg["bytes"] = - std::accumulate(variable.m_Shape.begin(), variable.m_Shape.end(), - sizeof(T), std::multiplies<size_t>()); - - m_Man.WriteWAN(values, jmsg); + if(m_UseFormat == "json"){ + + nlohmann::json jmsg; + jmsg["doid"] = m_Name; + jmsg["var"] = variable.m_Name; + jmsg["dtype"] = GetType<T>(); + jmsg["putshape"] = variable.m_Count; + jmsg["varshape"] = variable.m_Shape; + jmsg["offset"] = variable.m_Start; + jmsg["timestep"] = 0; + jmsg["bytes"] = + std::accumulate(variable.m_Shape.begin(), variable.m_Shape.end(), + sizeof(T), std::multiplies<size_t>()); + + m_Man.WriteWAN(values, jmsg); + } + + if(m_UseFormat == "bp"){ + + // add bp serialization + + } if (m_DoMonitor) { -- GitLab