From f986814960c0afb2239bac42f525c87cfde7751d Mon Sep 17 00:00:00 2001 From: Greg Eisenhauer Date: Sat, 28 Nov 2020 20:58:12 -0500 Subject: [PATCH 1/6] Rename struct Info to struct BPInfo --- bindings/CXX11/adios2/cxx11/Engine.tcc | 8 ++-- bindings/CXX11/adios2/cxx11/Variable.cpp | 4 +- bindings/CXX11/adios2/cxx11/Variable.tcc | 6 +-- source/adios2/core/Engine.cpp | 30 +++++++-------- source/adios2/core/Engine.h | 37 ++++++++++--------- source/adios2/core/Engine.tcc | 16 ++++---- source/adios2/core/Variable.cpp | 6 +-- source/adios2/core/Variable.h | 12 +++--- source/adios2/core/Variable.tcc | 8 ++-- source/adios2/engine/bp3/BP3Reader.cpp | 6 +-- source/adios2/engine/bp3/BP3Reader.h | 6 +-- source/adios2/engine/bp3/BP3Reader.tcc | 4 +- source/adios2/engine/bp3/BP3Writer.h | 2 +- source/adios2/engine/bp3/BP3Writer.tcc | 6 +-- source/adios2/engine/bp4/BP4Reader.cpp | 6 +-- source/adios2/engine/bp4/BP4Reader.h | 6 +-- source/adios2/engine/bp4/BP4Reader.tcc | 4 +- source/adios2/engine/bp4/BP4Writer.h | 2 +- source/adios2/engine/bp4/BP4Writer.tcc | 6 +-- .../adios2/engine/dataman/DataManReader.cpp | 4 +- source/adios2/engine/dataman/DataManReader.h | 8 ++-- .../adios2/engine/dataman/DataManReader.tcc | 10 ++--- source/adios2/engine/hdf5/HDF5ReaderP.cpp | 4 +- source/adios2/engine/hdf5/HDF5ReaderP.h | 10 ++--- source/adios2/engine/hdf5/HDF5ReaderP.tcc | 12 +++--- source/adios2/engine/inline/InlineReader.cpp | 16 ++++---- source/adios2/engine/inline/InlineReader.h | 12 +++--- source/adios2/engine/inline/InlineReader.tcc | 4 +- .../engine/insitumpi/InSituMPIReader.cpp | 4 +- .../adios2/engine/insitumpi/InSituMPIReader.h | 4 +- .../adios2/engine/insitumpi/InSituMPIWriter.h | 4 +- .../engine/insitumpi/InSituMPIWriter.tcc | 6 +-- .../adios2/engine/skeleton/SkeletonWriter.h | 2 +- .../adios2/engine/skeleton/SkeletonWriter.tcc | 4 +- source/adios2/engine/ssc/SscReader.cpp | 2 +- source/adios2/engine/ssc/SscReader.h | 4 +- source/adios2/engine/ssc/SscReader.tcc | 4 +- source/adios2/engine/sst/SstReader.cpp | 4 +- source/adios2/engine/sst/SstReader.h | 4 +- source/adios2/engine/sst/SstReader.tcc | 4 +- .../adios2/toolkit/format/bp/BPSerializer.cpp | 7 ++-- .../adios2/toolkit/format/bp/BPSerializer.h | 6 +-- .../adios2/toolkit/format/bp/BPSerializer.inl | 2 +- .../adios2/toolkit/format/bp/BPSerializer.tcc | 6 +-- .../toolkit/format/bp/bp3/BP3Deserializer.cpp | 16 ++++---- .../toolkit/format/bp/bp3/BP3Deserializer.h | 35 +++++++++--------- .../toolkit/format/bp/bp3/BP3Deserializer.tcc | 37 ++++++++++--------- .../toolkit/format/bp/bp3/BP3Serializer.cpp | 4 +- .../toolkit/format/bp/bp3/BP3Serializer.h | 18 ++++----- .../toolkit/format/bp/bp3/BP3Serializer.tcc | 20 +++++----- .../toolkit/format/bp/bp4/BP4Deserializer.cpp | 16 ++++---- .../toolkit/format/bp/bp4/BP4Deserializer.h | 32 ++++++++-------- .../toolkit/format/bp/bp4/BP4Deserializer.tcc | 37 ++++++++++--------- .../toolkit/format/bp/bp4/BP4Serializer.cpp | 6 +-- .../toolkit/format/bp/bp4/BP4Serializer.h | 22 +++++------ .../toolkit/format/bp/bp4/BP4Serializer.tcc | 22 +++++------ .../format/bp/bpOperation/BPOperation.cpp | 12 +++--- .../format/bp/bpOperation/BPOperation.h | 18 ++++----- .../format/bp/bpOperation/BPOperation.tcc | 6 +-- .../bp/bpOperation/compress/BPBZIP2.cpp | 6 +-- .../format/bp/bpOperation/compress/BPBZIP2.h | 10 ++--- .../bp/bpOperation/compress/BPBZIP2.tcc | 4 +- .../bp/bpOperation/compress/BPBlosc.cpp | 6 +-- .../format/bp/bpOperation/compress/BPBlosc.h | 6 +-- .../bp/bpOperation/compress/BPMGARD.cpp | 6 +-- .../format/bp/bpOperation/compress/BPMGARD.h | 6 +-- .../format/bp/bpOperation/compress/BPPNG.cpp | 6 +-- .../format/bp/bpOperation/compress/BPPNG.h | 6 +-- .../format/bp/bpOperation/compress/BPSZ.cpp | 6 +-- .../format/bp/bpOperation/compress/BPSZ.h | 6 +-- .../format/bp/bpOperation/compress/BPZFP.cpp | 6 +-- .../format/bp/bpOperation/compress/BPZFP.h | 8 ++-- .../format/bp/bpOperation/compress/BPZFP.tcc | 2 +- source/adios2/toolkit/query/BlockIndex.h | 8 ++-- source/utils/bpls/bpls.cpp | 18 ++++----- 75 files changed, 369 insertions(+), 364 deletions(-) diff --git a/bindings/CXX11/adios2/cxx11/Engine.tcc b/bindings/CXX11/adios2/cxx11/Engine.tcc index e57c0a301b..fb68a13a6a 100644 --- a/bindings/CXX11/adios2/cxx11/Engine.tcc +++ b/bindings/CXX11/adios2/cxx11/Engine.tcc @@ -25,14 +25,14 @@ namespace template static std::vector::Info> ToBlocksInfo(const std::vector::IOType>::Info> &coreBlocksInfo) + typename TypeInfo::IOType>::BPInfo> &coreBlocksInfo) { using IOType = typename TypeInfo::IOType; std::vector::Info> blocksInfo; blocksInfo.reserve(coreBlocksInfo.size()); - for (const typename core::Variable::Info &coreBlockInfo : + for (const typename core::Variable::BPInfo &coreBlockInfo : coreBlocksInfo) { typename Variable::Info blockInfo; @@ -294,7 +294,7 @@ Engine::AllStepsBlocksInfo(const Variable variable) const variable.m_Variable, "for variable in call to Engine::AllStepsBlocksInfo"); - const std::map::Info>> + const std::map::BPInfo>> coreAllStepsBlockInfo = m_Engine->AllStepsBlocksInfo(*variable.m_Variable); @@ -304,7 +304,7 @@ Engine::AllStepsBlocksInfo(const Variable variable) const for (const auto &pair : coreAllStepsBlockInfo) { const size_t step = pair.first; - const std::vector::Info> + const std::vector::BPInfo> &coreBlocksInfo = pair.second; allStepsBlocksInfo[step] = ToBlocksInfo(coreBlocksInfo); diff --git a/bindings/CXX11/adios2/cxx11/Variable.cpp b/bindings/CXX11/adios2/cxx11/Variable.cpp index fdbccb5253..0ab08124c7 100644 --- a/bindings/CXX11/adios2/cxx11/Variable.cpp +++ b/bindings/CXX11/adios2/cxx11/Variable.cpp @@ -213,8 +213,8 @@ namespace adios2 template <> \ const T *Variable::Info::Data() const \ { \ - const core::Variable::Info *coreInfo = \ - reinterpret_cast::Info *>(m_Info); \ + const core::Variable::BPInfo *coreInfo = \ + reinterpret_cast::BPInfo *>(m_Info); \ \ return m_Info ? (coreInfo->BufferP ? coreInfo->BufferP \ : coreInfo->BufferV.data()) \ diff --git a/bindings/CXX11/adios2/cxx11/Variable.tcc b/bindings/CXX11/adios2/cxx11/Variable.tcc index ca1959eff2..d36da51743 100644 --- a/bindings/CXX11/adios2/cxx11/Variable.tcc +++ b/bindings/CXX11/adios2/cxx11/Variable.tcc @@ -24,14 +24,14 @@ namespace template std::vector::Info> ToBlocksInfo(const std::vector::IOType>::Info> &coreBlocksInfo) + typename TypeInfo::IOType>::BPInfo> &coreBlocksInfo) { using IOType = typename TypeInfo::IOType; std::vector::Info> blocksInfo; blocksInfo.reserve(coreBlocksInfo.size()); - for (const typename core::Variable::Info &coreBlockInfo : + for (const typename core::Variable::BPInfo &coreBlockInfo : coreBlocksInfo) { typename Variable::Info blockInfo; @@ -69,7 +69,7 @@ Variable::DoAllStepsBlocksInfo() "in call to Variable::AllStepsBlocksInfo"); // PRIVATE INPUT - const std::vector::Info>> + const std::vector::BPInfo>> coreAllStepsBlocksInfo = m_Variable->AllStepsBlocksInfo(); // PUBLIC OUTPUT diff --git a/source/adios2/core/Engine.cpp b/source/adios2/core/Engine.cpp index 5182b451f9..3aa02bff96 100644 --- a/source/adios2/core/Engine.cpp +++ b/source/adios2/core/Engine.cpp @@ -126,11 +126,11 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) { \ ThrowUp("DoGetDeferred"); \ } \ - typename Variable::Info *Engine::DoGetBlockSync(Variable &v) \ + typename Variable::BPInfo *Engine::DoGetBlockSync(Variable &v) \ { \ return nullptr; \ } \ - typename Variable::Info *Engine::DoGetBlockDeferred(Variable &v) \ + typename Variable::BPInfo *Engine::DoGetBlockDeferred(Variable &v) \ { \ return nullptr; \ } @@ -139,25 +139,25 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #undef declare_type #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ Engine::DoAllStepsBlocksInfo(const Variable &variable) const \ { \ ThrowUp("DoAllStepsBlocksInfo"); \ - return std::map::Info>>(); \ + return std::map::BPInfo>>(); \ } \ \ - std::vector::Info>> \ + std::vector::BPInfo>> \ Engine::DoAllRelativeStepsBlocksInfo(const Variable &variable) const \ { \ ThrowUp("DoAllRelativeStepsBlocksInfo"); \ - return std::vector::Info>>(); \ + return std::vector::BPInfo>>(); \ } \ \ - std::vector::Info> Engine::DoBlocksInfo( \ + std::vector::BPInfo> Engine::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ ThrowUp("DoBlocksInfo"); \ - return std::vector::Info>(); \ + return std::vector::BPInfo>(); \ } \ std::vector Engine::DoGetAbsoluteSteps( \ const Variable &variable) const \ @@ -223,21 +223,21 @@ void Engine::CheckOpenModes(const std::set &modes, template void Engine::Get(const std::string &, std::vector &, \ const Mode); \ \ - template typename Variable::Info *Engine::Get(Variable &, \ - const Mode); \ - template typename Variable::Info *Engine::Get(const std::string &, \ - const Mode); \ + template typename Variable::BPInfo *Engine::Get(Variable &, \ + const Mode); \ + template typename Variable::BPInfo *Engine::Get(const std::string &, \ + const Mode); \ \ template Variable &Engine::FindVariable( \ const std::string &variableName, const std::string hint); \ \ - template std::map::Info>> \ + template std::map::BPInfo>> \ Engine::AllStepsBlocksInfo(const Variable &) const; \ \ - template std::vector::Info>> \ + template std::vector::BPInfo>> \ Engine::AllRelativeStepsBlocksInfo(const Variable &) const; \ \ - template std::vector::Info> Engine::BlocksInfo( \ + template std::vector::BPInfo> Engine::BlocksInfo( \ const Variable &, const size_t) const; \ template std::vector Engine::GetAbsoluteSteps(const Variable &) \ const; diff --git a/source/adios2/core/Engine.h b/source/adios2/core/Engine.h index 8ab43d9854..76aec1c3bb 100644 --- a/source/adios2/core/Engine.h +++ b/source/adios2/core/Engine.h @@ -314,8 +314,8 @@ class Engine * */ template - typename Variable::Info *Get(Variable &variable, - const Mode launch = Mode::Deferred); + typename Variable::BPInfo *Get(Variable &variable, + const Mode launch = Mode::Deferred); /** * @brief Get version for block selection that accepts a variableName as @@ -341,8 +341,8 @@ class Engine * */ template - typename Variable::Info *Get(const std::string &variableName, - const Mode launch = Mode::Deferred); + typename Variable::BPInfo *Get(const std::string &variableName, + const Mode launch = Mode::Deferred); template void Get(core::Variable &, T **) const; @@ -390,7 +390,7 @@ class Engine * */ template - std::map::Info>> + std::map::BPInfo>> AllStepsBlocksInfo(const Variable &variable) const; /** @@ -400,7 +400,7 @@ class Engine * @return */ template - std::vector::Info>> + std::vector::BPInfo>> AllRelativeStepsBlocksInfo(const Variable &variable) const; /** @@ -413,7 +413,7 @@ class Engine * found it returns an empty vector */ template - std::vector::Info> + std::vector::BPInfo> BlocksInfo(const Variable &variable, const size_t step) const; /** @@ -494,8 +494,8 @@ class Engine #define declare_type(T) \ virtual void DoGetSync(Variable &, T *); \ virtual void DoGetDeferred(Variable &, T *); \ - virtual typename Variable::Info *DoGetBlockSync(Variable &); \ - virtual typename Variable::Info *DoGetBlockDeferred(Variable &); + virtual typename Variable::BPInfo *DoGetBlockSync(Variable &); \ + virtual typename Variable::BPInfo *DoGetBlockDeferred(Variable &); ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #undef declare_type @@ -512,13 +512,13 @@ class Engine const std::string hint); #define declare_type(T) \ - virtual std::map::Info>> \ + virtual std::map::BPInfo>> \ DoAllStepsBlocksInfo(const Variable &variable) const; \ \ - virtual std::vector::Info>> \ + virtual std::vector::BPInfo>> \ DoAllRelativeStepsBlocksInfo(const Variable &variable) const; \ \ - virtual std::vector::Info> DoBlocksInfo( \ + virtual std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const; \ virtual std::vector DoGetAbsoluteSteps( \ const Variable &variable) const; @@ -592,21 +592,22 @@ class Engine extern template void Engine::Get(const std::string &, std::vector &, \ const Mode); \ \ - extern template typename Variable::Info *Engine::Get(Variable &, \ - const Mode); \ - extern template typename Variable::Info *Engine::Get( \ + extern template typename Variable::BPInfo *Engine::Get( \ + Variable &, const Mode); \ + extern template typename Variable::BPInfo *Engine::Get( \ const std::string &, const Mode); \ \ extern template Variable &Engine::FindVariable( \ const std::string &variableName, const std::string hint); \ \ - extern template std::map::Info>> \ + extern template std::map::BPInfo>> \ Engine::AllStepsBlocksInfo(const Variable &) const; \ \ - extern template std::vector::Info>> \ + extern template std::vector::BPInfo>> \ Engine::AllRelativeStepsBlocksInfo(const Variable &) const; \ \ - extern template std::vector::Info> \ + extern template std::vector::BPInfo> \ Engine::BlocksInfo(const Variable &, const size_t) const; \ \ extern template std::vector Engine::GetAbsoluteSteps( \ diff --git a/source/adios2/core/Engine.tcc b/source/adios2/core/Engine.tcc index 9452d967c9..4de25878a2 100644 --- a/source/adios2/core/Engine.tcc +++ b/source/adios2/core/Engine.tcc @@ -157,10 +157,10 @@ void Engine::Get(const std::string &variableName, std::vector &dataV, // Get template -typename Variable::Info *Engine::Get(Variable &variable, - const Mode launch) +typename Variable::BPInfo *Engine::Get(Variable &variable, + const Mode launch) { - typename Variable::Info *info = nullptr; + typename Variable::BPInfo *info = nullptr; switch (launch) { case Mode::Deferred: @@ -182,28 +182,28 @@ typename Variable::Info *Engine::Get(Variable &variable, } template -typename Variable::Info *Engine::Get(const std::string &variableName, - const Mode launch) +typename Variable::BPInfo *Engine::Get(const std::string &variableName, + const Mode launch) { return Get(FindVariable(variableName, "in call to Get"), launch); } template -std::map::Info>> +std::map::BPInfo>> Engine::AllStepsBlocksInfo(const Variable &variable) const { return DoAllStepsBlocksInfo(variable); } template -std::vector::Info>> +std::vector::BPInfo>> Engine::AllRelativeStepsBlocksInfo(const Variable &variable) const { return DoAllRelativeStepsBlocksInfo(variable); } template -std::vector::Info> +std::vector::BPInfo> Engine::BlocksInfo(const Variable &variable, const size_t step) const { return DoBlocksInfo(variable, step); diff --git a/source/adios2/core/Variable.cpp b/source/adios2/core/Variable.cpp index a37c60c7f7..01a7494c78 100644 --- a/source/adios2/core/Variable.cpp +++ b/source/adios2/core/Variable.cpp @@ -33,11 +33,11 @@ namespace core } \ \ template <> \ - typename Variable::Info &Variable::SetBlockInfo( \ + typename Variable::BPInfo &Variable::SetBlockInfo( \ const T *data, const size_t stepsStart, \ const size_t stepsCount) noexcept \ { \ - Info info; \ + BPInfo info; \ info.Shape = m_Shape; \ info.Start = m_Start; \ info.Count = m_Count; \ @@ -102,7 +102,7 @@ namespace core } \ \ template <> \ - std::vector::Info>> \ + std::vector::BPInfo>> \ Variable::AllStepsBlocksInfo() const \ { \ return DoAllStepsBlocksInfo(); \ diff --git a/source/adios2/core/Variable.h b/source/adios2/core/Variable.h index 2bb5a64f1f..25ebe3f87b 100644 --- a/source/adios2/core/Variable.h +++ b/source/adios2/core/Variable.h @@ -72,7 +72,7 @@ class Variable : public VariableBase /** current value */ T m_Value = T(); - struct Info + struct BPInfo { /** Contains (seek) read information for available [step][blockID], * used in Read mode only, @@ -109,7 +109,7 @@ class Variable : public VariableBase }; /** use for multiblock info */ - std::vector m_BlocksInfo; + std::vector m_BlocksInfo; using Span = core::Span; @@ -122,8 +122,8 @@ class Variable : public VariableBase ~Variable() = default; - Info &SetBlockInfo(const T *data, const size_t stepsStart, - const size_t stepsCount = 1) noexcept; + BPInfo &SetBlockInfo(const T *data, const size_t stepsStart, + const size_t stepsCount = 1) noexcept; void SetData(const T *data) noexcept; @@ -143,7 +143,7 @@ class Variable : public VariableBase T Max(const size_t step = adios2::DefaultSizeT) const; - std::vector::Info>> + std::vector::BPInfo>> AllStepsBlocksInfo() const; private: @@ -155,7 +155,7 @@ class Variable : public VariableBase std::pair DoMinMax(const size_t step) const; - std::vector::Info>> + std::vector::BPInfo>> DoAllStepsBlocksInfo() const; void CheckRandomAccess(const size_t step, const std::string hint) const; diff --git a/source/adios2/core/Variable.tcc b/source/adios2/core/Variable.tcc index edf7e9b5c5..b4ce676f1e 100644 --- a/source/adios2/core/Variable.tcc +++ b/source/adios2/core/Variable.tcc @@ -67,7 +67,7 @@ Dims Variable::DoCount() const const size_t step = !m_FirstStreamingStep ? m_Engine->CurrentStep() : lf_Step(); - const std::vector::Info> blocksInfo = + const std::vector::BPInfo> blocksInfo = m_Engine->BlocksInfo(*this, step); if (m_BlockID > blocksInfo.size()) @@ -106,7 +106,7 @@ std::pair Variable::DoMinMax(const size_t step) const const size_t stepInput = (step == DefaultSizeT) ? m_Engine->CurrentStep() : step; - const std::vector::Info> blocksInfo = + const std::vector::BPInfo> blocksInfo = m_Engine->BlocksInfo(*this, stepInput); if (blocksInfo.size() == 0) @@ -140,7 +140,7 @@ std::pair Variable::DoMinMax(const size_t step) const minMax.second = isValue ? blocksInfo.front().Value : blocksInfo.front().Max; - for (const typename Variable::Info &blockInfo : blocksInfo) + for (const typename Variable::BPInfo &blockInfo : blocksInfo) { const T minValue = isValue ? blockInfo.Value : blockInfo.Min; @@ -166,7 +166,7 @@ std::pair Variable::DoMinMax(const size_t step) const } template -std::vector::Info>> +std::vector::BPInfo>> Variable::DoAllStepsBlocksInfo() const { if (m_Engine == nullptr) diff --git a/source/adios2/engine/bp3/BP3Reader.cpp b/source/adios2/engine/bp3/BP3Reader.cpp index d3fc51acfa..9e0a8717cd 100644 --- a/source/adios2/engine/bp3/BP3Reader.cpp +++ b/source/adios2/engine/bp3/BP3Reader.cpp @@ -236,21 +236,21 @@ void BP3Reader::DoClose(const int transportIndex) } #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ BP3Reader::DoAllStepsBlocksInfo(const Variable &variable) const \ { \ TAU_SCOPED_TIMER("BP3Reader::AllStepsBlocksInfo"); \ return m_BP3Deserializer.AllStepsBlocksInfo(variable); \ } \ \ - std::vector::Info>> \ + std::vector::BPInfo>> \ BP3Reader::DoAllRelativeStepsBlocksInfo(const Variable &variable) const \ { \ TAU_SCOPED_TIMER("BP3Reader::AllRelativeStepsBlocksInfo"); \ return m_BP3Deserializer.AllRelativeStepsBlocksInfo(variable); \ } \ \ - std::vector::Info> BP3Reader::DoBlocksInfo( \ + std::vector::BPInfo> BP3Reader::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ TAU_SCOPED_TIMER("BP3Reader::BlocksInfo"); \ diff --git a/source/adios2/engine/bp3/BP3Reader.h b/source/adios2/engine/bp3/BP3Reader.h index cd672d65f2..06040de4b3 100644 --- a/source/adios2/engine/bp3/BP3Reader.h +++ b/source/adios2/engine/bp3/BP3Reader.h @@ -80,13 +80,13 @@ class BP3Reader : public Engine void ReadVariableBlocks(Variable &variable); #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ DoAllStepsBlocksInfo(const Variable &) const final; \ \ - std::vector::Info>> \ + std::vector::BPInfo>> \ DoAllRelativeStepsBlocksInfo(const Variable &) const final; \ \ - std::vector::Info> DoBlocksInfo( \ + std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) diff --git a/source/adios2/engine/bp3/BP3Reader.tcc b/source/adios2/engine/bp3/BP3Reader.tcc index 6b54b95a42..2da62081a3 100644 --- a/source/adios2/engine/bp3/BP3Reader.tcc +++ b/source/adios2/engine/bp3/BP3Reader.tcc @@ -38,7 +38,7 @@ inline void BP3Reader::GetSyncCommon(Variable &variable, T *data) return; } - typename Variable::Info &blockInfo = + typename Variable::BPInfo &blockInfo = m_BP3Deserializer.InitVariableBlockInfo(variable, data); m_BP3Deserializer.SetVariableBlockInfo(variable, blockInfo); ReadVariableBlocks(variable); @@ -65,7 +65,7 @@ void BP3Reader::ReadVariableBlocks(Variable &variable) { const bool profile = m_BP3Deserializer.m_Profiler.m_IsActive; - for (typename Variable::Info &blockInfo : variable.m_BlocksInfo) + for (typename Variable::BPInfo &blockInfo : variable.m_BlocksInfo) { T *originalBlockData = blockInfo.Data; diff --git a/source/adios2/engine/bp3/BP3Writer.h b/source/adios2/engine/bp3/BP3Writer.h index 6529eab47e..b0c36bd96c 100644 --- a/source/adios2/engine/bp3/BP3Writer.h +++ b/source/adios2/engine/bp3/BP3Writer.h @@ -87,7 +87,7 @@ class BP3Writer : public core::Engine template void PutSyncCommon(Variable &variable, - const typename Variable::Info &blockInfo, + const typename Variable::BPInfo &blockInfo, const bool resize = true); template diff --git a/source/adios2/engine/bp3/BP3Writer.tcc b/source/adios2/engine/bp3/BP3Writer.tcc index 6ab0b8ef5f..343a3d3933 100644 --- a/source/adios2/engine/bp3/BP3Writer.tcc +++ b/source/adios2/engine/bp3/BP3Writer.tcc @@ -24,7 +24,7 @@ void BP3Writer::PutCommon(Variable &variable, typename Variable::Span &span, const size_t /*bufferID*/, const T &value) { - const typename Variable::Info &blockInfo = + const typename Variable::BPInfo &blockInfo = variable.SetBlockInfo(nullptr, CurrentStep()); m_BP3Serializer.m_DeferredVariables.insert(variable.m_Name); @@ -63,7 +63,7 @@ void BP3Writer::PutCommon(Variable &variable, template void BP3Writer::PutSyncCommon(Variable &variable, - const typename Variable::Info &blockInfo, + const typename Variable::BPInfo &blockInfo, const bool resize) { format::BP3Base::ResizeResult resizeResult = @@ -113,7 +113,7 @@ void BP3Writer::PutDeferredCommon(Variable &variable, const T *data) return; } - const typename Variable::Info blockInfo = + const typename Variable::BPInfo blockInfo = variable.SetBlockInfo(data, CurrentStep()); m_BP3Serializer.m_DeferredVariables.insert(variable.m_Name); m_BP3Serializer.m_DeferredVariablesDataSize += static_cast( diff --git a/source/adios2/engine/bp4/BP4Reader.cpp b/source/adios2/engine/bp4/BP4Reader.cpp index ed3a276bfe..050a28b7e4 100644 --- a/source/adios2/engine/bp4/BP4Reader.cpp +++ b/source/adios2/engine/bp4/BP4Reader.cpp @@ -766,21 +766,21 @@ void BP4Reader::DoClose(const int transportIndex) } #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ BP4Reader::DoAllStepsBlocksInfo(const Variable &variable) const \ { \ TAU_SCOPED_TIMER("BP4Reader::AllStepsBlocksInfo"); \ return m_BP4Deserializer.AllStepsBlocksInfo(variable); \ } \ \ - std::vector::Info>> \ + std::vector::BPInfo>> \ BP4Reader::DoAllRelativeStepsBlocksInfo(const Variable &variable) const \ { \ TAU_SCOPED_TIMER("BP3Reader::AllRelativeStepsBlocksInfo"); \ return m_BP4Deserializer.AllRelativeStepsBlocksInfo(variable); \ } \ \ - std::vector::Info> BP4Reader::DoBlocksInfo( \ + std::vector::BPInfo> BP4Reader::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ TAU_SCOPED_TIMER("BP4Reader::BlocksInfo"); \ diff --git a/source/adios2/engine/bp4/BP4Reader.h b/source/adios2/engine/bp4/BP4Reader.h index d5d546c837..dcb872b4bc 100644 --- a/source/adios2/engine/bp4/BP4Reader.h +++ b/source/adios2/engine/bp4/BP4Reader.h @@ -169,13 +169,13 @@ class BP4Reader : public Engine void ReadVariableBlocks(Variable &variable); #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ DoAllStepsBlocksInfo(const Variable &variable) const final; \ \ - std::vector::Info>> \ + std::vector::BPInfo>> \ DoAllRelativeStepsBlocksInfo(const Variable &) const final; \ \ - std::vector::Info> DoBlocksInfo( \ + std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) diff --git a/source/adios2/engine/bp4/BP4Reader.tcc b/source/adios2/engine/bp4/BP4Reader.tcc index 14ca7c4b5e..0a43df821c 100644 --- a/source/adios2/engine/bp4/BP4Reader.tcc +++ b/source/adios2/engine/bp4/BP4Reader.tcc @@ -38,7 +38,7 @@ inline void BP4Reader::GetSyncCommon(Variable &variable, T *data) return; } - typename Variable::Info &blockInfo = + typename Variable::BPInfo &blockInfo = m_BP4Deserializer.InitVariableBlockInfo(variable, data); m_BP4Deserializer.SetVariableBlockInfo(variable, blockInfo); ReadVariableBlocks(variable); @@ -65,7 +65,7 @@ void BP4Reader::ReadVariableBlocks(Variable &variable) { const bool profile = m_BP4Deserializer.m_Profiler.m_IsActive; - for (typename Variable::Info &blockInfo : variable.m_BlocksInfo) + for (typename Variable::BPInfo &blockInfo : variable.m_BlocksInfo) { T *originalBlockData = blockInfo.Data; diff --git a/source/adios2/engine/bp4/BP4Writer.h b/source/adios2/engine/bp4/BP4Writer.h index 1b04c07d0c..6f9f71864e 100644 --- a/source/adios2/engine/bp4/BP4Writer.h +++ b/source/adios2/engine/bp4/BP4Writer.h @@ -117,7 +117,7 @@ class BP4Writer : public core::Engine template void PutSyncCommon(Variable &variable, - const typename Variable::Info &blockInfo, + const typename Variable::BPInfo &blockInfo, const bool resize = true); template diff --git a/source/adios2/engine/bp4/BP4Writer.tcc b/source/adios2/engine/bp4/BP4Writer.tcc index 2edfa7ac68..5678295acf 100644 --- a/source/adios2/engine/bp4/BP4Writer.tcc +++ b/source/adios2/engine/bp4/BP4Writer.tcc @@ -24,7 +24,7 @@ void BP4Writer::PutCommon(Variable &variable, typename Variable::Span &span, const size_t /*bufferID*/, const T &value) { - const typename Variable::Info &blockInfo = + const typename Variable::BPInfo &blockInfo = variable.SetBlockInfo(nullptr, CurrentStep()); m_BP4Serializer.m_DeferredVariables.insert(variable.m_Name); @@ -63,7 +63,7 @@ void BP4Writer::PutCommon(Variable &variable, template void BP4Writer::PutSyncCommon(Variable &variable, - const typename Variable::Info &blockInfo, + const typename Variable::BPInfo &blockInfo, const bool resize) { format::BP4Base::ResizeResult resizeResult = @@ -112,7 +112,7 @@ void BP4Writer::PutDeferredCommon(Variable &variable, const T *data) return; } - const typename Variable::Info blockInfo = + const typename Variable::BPInfo blockInfo = variable.SetBlockInfo(data, CurrentStep()); m_BP4Serializer.m_DeferredVariables.insert(variable.m_Name); m_BP4Serializer.m_DeferredVariablesDataSize += static_cast( diff --git a/source/adios2/engine/dataman/DataManReader.cpp b/source/adios2/engine/dataman/DataManReader.cpp index eeff7dc271..21f267c9f9 100644 --- a/source/adios2/engine/dataman/DataManReader.cpp +++ b/source/adios2/engine/dataman/DataManReader.cpp @@ -291,12 +291,12 @@ void DataManReader::SubscribeThread(zmq::ZmqPubSub &subscriber) { \ GetDeferredCommon(variable, data); \ } \ - std::map::Info>> \ + std::map::BPInfo>> \ DataManReader::DoAllStepsBlocksInfo(const Variable &variable) const \ { \ return AllStepsBlocksInfoCommon(variable); \ } \ - std::vector::Info> DataManReader::DoBlocksInfo( \ + std::vector::BPInfo> DataManReader::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ return BlocksInfoCommon(variable, step); \ diff --git a/source/adios2/engine/dataman/DataManReader.h b/source/adios2/engine/dataman/DataManReader.h index 8314515cf9..3b6820ea57 100644 --- a/source/adios2/engine/dataman/DataManReader.h +++ b/source/adios2/engine/dataman/DataManReader.h @@ -79,9 +79,9 @@ class DataManReader : public Engine #define declare_type(T) \ void DoGetSync(Variable &, T *) final; \ void DoGetDeferred(Variable &, T *) final; \ - std::map::Info>> \ + std::map::BPInfo>> \ DoAllStepsBlocksInfo(const Variable &variable) const final; \ - std::vector::Info> DoBlocksInfo( \ + std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #undef declare_type @@ -97,11 +97,11 @@ class DataManReader : public Engine void GetDeferredCommon(Variable &variable, T *data); template - std::map::Info>> + std::map::BPInfo>> AllStepsBlocksInfoCommon(const Variable &variable) const; template - std::vector::Info> + std::vector::BPInfo> BlocksInfoCommon(const Variable &variable, const size_t step) const; template diff --git a/source/adios2/engine/dataman/DataManReader.tcc b/source/adios2/engine/dataman/DataManReader.tcc index b1b446188b..bd952bf4f2 100644 --- a/source/adios2/engine/dataman/DataManReader.tcc +++ b/source/adios2/engine/dataman/DataManReader.tcc @@ -74,25 +74,25 @@ void DataManReader::GetDeferredCommon(Variable &variable, T *data) } template -std::map::Info>> +std::map::BPInfo>> DataManReader::AllStepsBlocksInfoCommon(const Variable &variable) const { - return std::map::Info>>(); + return std::map::BPInfo>>(); } template -std::vector::Info> +std::vector::BPInfo> DataManReader::BlocksInfoCommon(const Variable &variable, const size_t step) const { - std::vector::Info> v; + std::vector::BPInfo> v; T max = std::numeric_limits::min(); T min = std::numeric_limits::max(); for (const auto &i : *m_CurrentStepMetadata) { if (i.name == variable.m_Name) { - typename Variable::Info b; + typename Variable::BPInfo b; b.Start = i.start; b.Count = i.count; b.Shape = i.shape; diff --git a/source/adios2/engine/hdf5/HDF5ReaderP.cpp b/source/adios2/engine/hdf5/HDF5ReaderP.cpp index ee44f0ae98..184669fd59 100644 --- a/source/adios2/engine/hdf5/HDF5ReaderP.cpp +++ b/source/adios2/engine/hdf5/HDF5ReaderP.cpp @@ -351,13 +351,13 @@ void HDF5ReaderP::PerformGets() GetDeferredCommon(variable, data); \ } \ \ - std::map::Info>> \ + std::map::BPInfo>> \ HDF5ReaderP::DoAllStepsBlocksInfo(const Variable &variable) const \ { \ return GetAllStepsBlocksInfo(variable); \ } \ \ - std::vector::Info> HDF5ReaderP::DoBlocksInfo( \ + std::vector::BPInfo> HDF5ReaderP::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ return GetBlocksInfo(variable, step); \ diff --git a/source/adios2/engine/hdf5/HDF5ReaderP.h b/source/adios2/engine/hdf5/HDF5ReaderP.h index 244d5f3c74..560916206b 100644 --- a/source/adios2/engine/hdf5/HDF5ReaderP.h +++ b/source/adios2/engine/hdf5/HDF5ReaderP.h @@ -61,10 +61,10 @@ class HDF5ReaderP : public Engine #define declare_type(T) \ void DoGetSync(Variable &, T *) final; \ void DoGetDeferred(Variable &, T *) final; \ - std::map::Info>> \ + std::map::BPInfo>> \ DoAllStepsBlocksInfo(const Variable &variable) const final; \ \ - std::vector::Info> DoBlocksInfo( \ + std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #undef declare_type @@ -82,15 +82,15 @@ class HDF5ReaderP : public Engine void GetDeferredCommon(Variable &variable, T *data); template - std::map::Info>> + std::map::BPInfo>> GetAllStepsBlocksInfo(const Variable &variable) const; template - std::vector::Info> + std::vector::BPInfo> GetBlocksInfo(const Variable &variable, const size_t step) const; template - std::vector::Info> + std::vector::BPInfo> BlocksInfoCommon(const core::Variable &variable) const; template diff --git a/source/adios2/engine/hdf5/HDF5ReaderP.tcc b/source/adios2/engine/hdf5/HDF5ReaderP.tcc index 442fa5146e..d820f941c8 100644 --- a/source/adios2/engine/hdf5/HDF5ReaderP.tcc +++ b/source/adios2/engine/hdf5/HDF5ReaderP.tcc @@ -60,12 +60,12 @@ void HDF5ReaderP::GetDeferredCommon(Variable &variable, T *data) } template -std::vector::Info> +std::vector::BPInfo> HDF5ReaderP::BlocksInfoCommon(const core::Variable &variable) const { - std::vector::Info> blocksInfo; + std::vector::BPInfo> blocksInfo; - typename core::Variable::Info blockInfo; + typename core::Variable::BPInfo blockInfo; blockInfo.Start = variable.m_Start; blockInfo.Count = variable.m_Shape; if (variable.m_ShapeID == ShapeID::GlobalValue || @@ -83,10 +83,10 @@ HDF5ReaderP::BlocksInfoCommon(const core::Variable &variable) const } template -std::map::Info>> +std::map::BPInfo>> HDF5ReaderP::GetAllStepsBlocksInfo(const Variable &variable) const { - std::map::Info>> + std::map::BPInfo>> allStepsBlocksInfo; for (size_t step = variable.m_AvailableStepsStart; @@ -99,7 +99,7 @@ HDF5ReaderP::GetAllStepsBlocksInfo(const Variable &variable) const } template -std::vector::Info> +std::vector::BPInfo> HDF5ReaderP::GetBlocksInfo(const Variable &variable, const size_t step) const { return BlocksInfoCommon(variable); diff --git a/source/adios2/engine/inline/InlineReader.cpp b/source/adios2/engine/inline/InlineReader.cpp index 7285e9d8ef..19c707fee6 100644 --- a/source/adios2/engine/inline/InlineReader.cpp +++ b/source/adios2/engine/inline/InlineReader.cpp @@ -149,13 +149,13 @@ bool InlineReader::IsInsideStep() const { return m_InsideStep; } TAU_SCOPED_TIMER("InlineReader::DoGetDeferred"); \ GetDeferredCommon(variable, data); \ } \ - typename Variable::Info *InlineReader::DoGetBlockSync( \ + typename Variable::BPInfo *InlineReader::DoGetBlockSync( \ Variable &variable) \ { \ TAU_SCOPED_TIMER("InlineReader::DoGetBlockSync"); \ return GetBlockSyncCommon(variable); \ } \ - typename Variable::Info *InlineReader::DoGetBlockDeferred( \ + typename Variable::BPInfo *InlineReader::DoGetBlockDeferred( \ Variable &variable) \ { \ TAU_SCOPED_TIMER("InlineReader::DoGetBlockDeferred"); \ @@ -170,14 +170,14 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) // retrieve the current Core Info object at a later time. // See note on binding Engine::BlocksInfo #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ InlineReader::DoAllStepsBlocksInfo(const Variable &variable) const \ { \ TAU_SCOPED_TIMER("InlineReader::AllStepsBlockInfo"); \ - return std::map::Info>>(); \ + return std::map::BPInfo>>(); \ } \ \ - std::vector::Info> InlineReader::DoBlocksInfo( \ + std::vector::BPInfo> InlineReader::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ TAU_SCOPED_TIMER("InlineReader::DoBlocksInfo"); \ @@ -231,9 +231,9 @@ void InlineReader::DoClose(const int transportIndex) void InlineReader::SetDeferredVariablePointers() { - // need to set core::Variable::Info::BufferP for each deferred variable - // to the ptr stored in core::Variable::Info::Data - // this will make Variable::Info::Data() work correctly for the user + // need to set core::Variable::BPInfo::BufferP for each deferred variable + // to the ptr stored in core::Variable::BPInfo::Data + // this will make Variable::BPInfo::Data() work correctly for the user for (const auto &varName : m_DeferredVariables) { const DataType type = m_IO.InquireVariableType(varName); diff --git a/source/adios2/engine/inline/InlineReader.h b/source/adios2/engine/inline/InlineReader.h index ba60dbe842..f4c6c3b8e5 100644 --- a/source/adios2/engine/inline/InlineReader.h +++ b/source/adios2/engine/inline/InlineReader.h @@ -75,8 +75,8 @@ class InlineReader : public Engine #define declare_type(T) \ void DoGetSync(Variable &, T *) final; \ void DoGetDeferred(Variable &, T *) final; \ - typename Variable::Info *DoGetBlockSync(Variable &) final; \ - typename Variable::Info *DoGetBlockDeferred(Variable &) final; + typename Variable::BPInfo *DoGetBlockSync(Variable &) final; \ + typename Variable::BPInfo *DoGetBlockDeferred(Variable &) final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #undef declare_type @@ -89,16 +89,16 @@ class InlineReader : public Engine void GetDeferredCommon(Variable &variable, T *data); template - typename Variable::Info *GetBlockSyncCommon(Variable &variable); + typename Variable::BPInfo *GetBlockSyncCommon(Variable &variable); template - typename Variable::Info *GetBlockDeferredCommon(Variable &variable); + typename Variable::BPInfo *GetBlockDeferredCommon(Variable &variable); #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ DoAllStepsBlocksInfo(const Variable &variable) const final; \ \ - std::vector::Info> DoBlocksInfo( \ + std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) diff --git a/source/adios2/engine/inline/InlineReader.tcc b/source/adios2/engine/inline/InlineReader.tcc index 30e04c1133..a41bf21a65 100644 --- a/source/adios2/engine/inline/InlineReader.tcc +++ b/source/adios2/engine/inline/InlineReader.tcc @@ -64,7 +64,7 @@ void InlineReader::GetDeferredCommon(Variable &variable, T *data) } template -inline typename Variable::Info * +inline typename Variable::BPInfo * InlineReader::GetBlockSyncCommon(Variable &variable) { if (variable.m_BlockID >= variable.m_BlocksInfo.size()) @@ -86,7 +86,7 @@ InlineReader::GetBlockSyncCommon(Variable &variable) } template -inline typename Variable::Info * +inline typename Variable::BPInfo * InlineReader::GetBlockDeferredCommon(Variable &variable) { if (variable.m_BlockID >= variable.m_BlocksInfo.size()) diff --git a/source/adios2/engine/insitumpi/InSituMPIReader.cpp b/source/adios2/engine/insitumpi/InSituMPIReader.cpp index 0b604c5456..bbca721408 100644 --- a/source/adios2/engine/insitumpi/InSituMPIReader.cpp +++ b/source/adios2/engine/insitumpi/InSituMPIReader.cpp @@ -613,14 +613,14 @@ void InSituMPIReader::DoClose(const int transportIndex) } #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ InSituMPIReader::DoAllStepsBlocksInfo(const Variable &variable) const \ { \ TAU_SCOPED_TIMER("InSituMPIReader::AllStepsBlocksInfo"); \ return m_BP3Deserializer.AllStepsBlocksInfo(variable); \ } \ \ - std::vector::Info> InSituMPIReader::DoBlocksInfo( \ + std::vector::BPInfo> InSituMPIReader::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ TAU_SCOPED_TIMER("InSituMPIReader::BlocksInfo"); \ diff --git a/source/adios2/engine/insitumpi/InSituMPIReader.h b/source/adios2/engine/insitumpi/InSituMPIReader.h index dc2ab395c8..09a0ba191a 100644 --- a/source/adios2/engine/insitumpi/InSituMPIReader.h +++ b/source/adios2/engine/insitumpi/InSituMPIReader.h @@ -93,10 +93,10 @@ class InSituMPIReader : public Engine void DoGetSync(Variable &, T *) final; \ void DoGetDeferred(Variable &, T *) final; \ \ - std::map::Info>> \ + std::map::BPInfo>> \ DoAllStepsBlocksInfo(const Variable &variable) const final; \ \ - std::vector::Info> DoBlocksInfo( \ + std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) diff --git a/source/adios2/engine/insitumpi/InSituMPIWriter.h b/source/adios2/engine/insitumpi/InSituMPIWriter.h index e8a64f7e8e..10d1d08db3 100644 --- a/source/adios2/engine/insitumpi/InSituMPIWriter.h +++ b/source/adios2/engine/insitumpi/InSituMPIWriter.h @@ -111,7 +111,7 @@ class InSituMPIWriter : public Engine */ template void PutSyncCommon(Variable &variable, - const typename Variable::Info &blockInfo); + const typename Variable::BPInfo &blockInfo); template void PutDeferredCommon(Variable &variable, const T *values); @@ -122,7 +122,7 @@ class InSituMPIWriter : public Engine */ template void AsyncSendVariable(Variable &variable, - const typename Variable::Info &blockInfo); + const typename Variable::BPInfo &blockInfo); void AsyncSendVariable(std::string variableName); diff --git a/source/adios2/engine/insitumpi/InSituMPIWriter.tcc b/source/adios2/engine/insitumpi/InSituMPIWriter.tcc index 9211024a02..4918123ad7 100644 --- a/source/adios2/engine/insitumpi/InSituMPIWriter.tcc +++ b/source/adios2/engine/insitumpi/InSituMPIWriter.tcc @@ -22,8 +22,8 @@ namespace engine { template -void InSituMPIWriter::PutSyncCommon(Variable &variable, - const typename Variable::Info &blockInfo) +void InSituMPIWriter::PutSyncCommon( + Variable &variable, const typename Variable::BPInfo &blockInfo) { if (variable.m_SingleValue) { @@ -102,7 +102,7 @@ void InSituMPIWriter::PutDeferredCommon(Variable &variable, const T *values) template void InSituMPIWriter::AsyncSendVariable( - Variable &variable, const typename Variable::Info &blockInfo) + Variable &variable, const typename Variable::BPInfo &blockInfo) { const auto it = m_WriteScheduleMap.find(variable.m_Name); if (it != m_WriteScheduleMap.end()) diff --git a/source/adios2/engine/skeleton/SkeletonWriter.h b/source/adios2/engine/skeleton/SkeletonWriter.h index 2cffe7c7bd..52f8db07a2 100644 --- a/source/adios2/engine/skeleton/SkeletonWriter.h +++ b/source/adios2/engine/skeleton/SkeletonWriter.h @@ -79,7 +79,7 @@ class SkeletonWriter : public Engine */ template void PutSyncCommon(Variable &variable, - const typename Variable::Info &blockInfo); + const typename Variable::BPInfo &blockInfo); template void PutDeferredCommon(Variable &variable, const T *values); diff --git a/source/adios2/engine/skeleton/SkeletonWriter.tcc b/source/adios2/engine/skeleton/SkeletonWriter.tcc index 8d7153baec..f4335c6788 100644 --- a/source/adios2/engine/skeleton/SkeletonWriter.tcc +++ b/source/adios2/engine/skeleton/SkeletonWriter.tcc @@ -22,8 +22,8 @@ namespace engine { template -void SkeletonWriter::PutSyncCommon(Variable &variable, - const typename Variable::Info &blockInfo) +void SkeletonWriter::PutSyncCommon( + Variable &variable, const typename Variable::BPInfo &blockInfo) { if (m_Verbosity == 5) { diff --git a/source/adios2/engine/ssc/SscReader.cpp b/source/adios2/engine/ssc/SscReader.cpp index a645849f49..c12d1bc55b 100644 --- a/source/adios2/engine/ssc/SscReader.cpp +++ b/source/adios2/engine/ssc/SscReader.cpp @@ -688,7 +688,7 @@ void SscReader::CalculatePosition(ssc::BlockVecVec &bvv, { \ GetDeferredCommon(variable, data); \ } \ - std::vector::Info> SscReader::DoBlocksInfo( \ + std::vector::BPInfo> SscReader::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ return BlocksInfoCommon(variable, step); \ diff --git a/source/adios2/engine/ssc/SscReader.h b/source/adios2/engine/ssc/SscReader.h index 22ee005d93..dde47075d7 100644 --- a/source/adios2/engine/ssc/SscReader.h +++ b/source/adios2/engine/ssc/SscReader.h @@ -75,13 +75,13 @@ class SscReader : public Engine #define declare_type(T) \ void DoGetSync(Variable &, T *) final; \ void DoGetDeferred(Variable &, T *) final; \ - std::vector::Info> DoBlocksInfo( \ + std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #undef declare_type template - std::vector::Info> + std::vector::BPInfo> BlocksInfoCommon(const Variable &variable, const size_t step) const; void DoClose(const int transportIndex = -1); diff --git a/source/adios2/engine/ssc/SscReader.tcc b/source/adios2/engine/ssc/SscReader.tcc index 91cbfcd861..8404229e06 100644 --- a/source/adios2/engine/ssc/SscReader.tcc +++ b/source/adios2/engine/ssc/SscReader.tcc @@ -160,13 +160,13 @@ void SscReader::GetDeferredCommon(Variable &variable, T *data) } template -std::vector::Info> +std::vector::BPInfo> SscReader::BlocksInfoCommon(const Variable &variable, const size_t step) const { TAU_SCOPED_TIMER_FUNC(); - std::vector::Info> ret; + std::vector::BPInfo> ret; for (const auto &r : m_GlobalWritePattern) { diff --git a/source/adios2/engine/sst/SstReader.cpp b/source/adios2/engine/sst/SstReader.cpp index 30a6bd2c8b..1aa964324b 100644 --- a/source/adios2/engine/sst/SstReader.cpp +++ b/source/adios2/engine/sst/SstReader.cpp @@ -604,7 +604,7 @@ void SstReader::PerformGets() void SstReader::DoClose(const int transportIndex) { SstReaderClose(m_Input); } #define declare_type(T) \ - std::map::Info>> \ + std::map::BPInfo>> \ SstReader::DoAllStepsBlocksInfo(const Variable &variable) const \ { \ if (m_WriterMarshalMethod == SstMarshalFFS) \ @@ -620,7 +620,7 @@ void SstReader::DoClose(const int transportIndex) { SstReaderClose(m_Input); } "ERROR: Unknown marshal mechanism in DoAllStepsBlocksInfo\n"); \ } \ \ - std::vector::Info> SstReader::DoBlocksInfo( \ + std::vector::BPInfo> SstReader::DoBlocksInfo( \ const Variable &variable, const size_t step) const \ { \ if (m_WriterMarshalMethod == SstMarshalFFS) \ diff --git a/source/adios2/engine/sst/SstReader.h b/source/adios2/engine/sst/SstReader.h index efb0b67b4e..3931c6b963 100644 --- a/source/adios2/engine/sst/SstReader.h +++ b/source/adios2/engine/sst/SstReader.h @@ -80,10 +80,10 @@ class SstReader : public Engine void DoGetSync(Variable &, T *) final; \ void DoGetDeferred(Variable &, T *) final; \ \ - std::map::Info>> \ + std::map::BPInfo>> \ DoAllStepsBlocksInfo(const Variable &variable) const final; \ \ - std::vector::Info> DoBlocksInfo( \ + std::vector::BPInfo> DoBlocksInfo( \ const Variable &variable, const size_t step) const final; ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) diff --git a/source/adios2/engine/sst/SstReader.tcc b/source/adios2/engine/sst/SstReader.tcc index ba101728b4..59d64a34b5 100644 --- a/source/adios2/engine/sst/SstReader.tcc +++ b/source/adios2/engine/sst/SstReader.tcc @@ -38,7 +38,7 @@ void SstReader::ReadVariableBlocksRequests( #endif size_t threadID = 0; - for (typename Variable::Info &blockInfo : variable.m_BlocksInfo) + for (typename Variable::BPInfo &blockInfo : variable.m_BlocksInfo) { T *originalBlockData = blockInfo.Data; for (const auto &stepPair : blockInfo.StepBlockSubStreamsInfo) @@ -137,7 +137,7 @@ void SstReader::ReadVariableBlocksFill(Variable &variable, size_t threadID = 0; threadID = 0; - for (typename Variable::Info &blockInfo : variable.m_BlocksInfo) + for (typename Variable::BPInfo &blockInfo : variable.m_BlocksInfo) { T *originalBlockData = blockInfo.Data; for (const auto &stepPair : blockInfo.StepBlockSubStreamsInfo) diff --git a/source/adios2/toolkit/format/bp/BPSerializer.cpp b/source/adios2/toolkit/format/bp/BPSerializer.cpp index 3e1093411f..d933ac3cb1 100644 --- a/source/adios2/toolkit/format/bp/BPSerializer.cpp +++ b/source/adios2/toolkit/format/bp/BPSerializer.cpp @@ -877,18 +877,19 @@ ADIOS2_FOREACH_ATTRIBUTE_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation) size_t &) noexcept; \ \ template void BPSerializer::PutCharacteristicOperation( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ std::vector &) noexcept; \ \ template void BPSerializer::PutOperationPayloadInBuffer( \ - const core::Variable &, const typename core::Variable::Info &); + const core::Variable &, \ + const typename core::Variable::BPInfo &); ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) #undef declare_template_instantiation #define declare_template_instantiation(T) \ template void BPSerializer::PutPayloadInBuffer( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool) noexcept; ADIOS2_FOREACH_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/BPSerializer.h b/source/adios2/toolkit/format/bp/BPSerializer.h index f22d461ca0..6ae18c77ba 100644 --- a/source/adios2/toolkit/format/bp/BPSerializer.h +++ b/source/adios2/toolkit/format/bp/BPSerializer.h @@ -81,7 +81,7 @@ class BPSerializer : virtual public BPBase template void PutPayloadInBuffer(const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor) noexcept; void PutNameRecord(const std::string name, @@ -148,13 +148,13 @@ class BPSerializer : virtual public BPBase template void PutCharacteristicOperation( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, std::vector &buffer) noexcept; template void PutOperationPayloadInBuffer( const core::Variable &variable, - const typename core::Variable::Info &blockInfo); + const typename core::Variable::BPInfo &blockInfo); }; } // end namespace format diff --git a/source/adios2/toolkit/format/bp/BPSerializer.inl b/source/adios2/toolkit/format/bp/BPSerializer.inl index 53494a788f..964ad83d46 100644 --- a/source/adios2/toolkit/format/bp/BPSerializer.inl +++ b/source/adios2/toolkit/format/bp/BPSerializer.inl @@ -79,7 +79,7 @@ inline size_t BPSerializer::GetAttributeSizeInData( template <> inline void BPSerializer::PutPayloadInBuffer( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool /* sourceRowMajor*/) noexcept { PutNameRecord(*blockInfo.Data, m_Data.m_Buffer, m_Data.m_Position); diff --git a/source/adios2/toolkit/format/bp/BPSerializer.tcc b/source/adios2/toolkit/format/bp/BPSerializer.tcc index 8414fa6eb5..ff89ad2abf 100644 --- a/source/adios2/toolkit/format/bp/BPSerializer.tcc +++ b/source/adios2/toolkit/format/bp/BPSerializer.tcc @@ -67,7 +67,7 @@ void BPSerializer::PutCharacteristicRecord(const uint8_t characteristicID, template inline void BPSerializer::PutPayloadInBuffer( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor) noexcept { const size_t blockSize = helper::GetTotalSize(blockInfo.Count); @@ -351,7 +351,7 @@ void BPSerializer::PutAttributeInIndex(const core::Attribute &attribute, template void BPSerializer::PutCharacteristicOperation( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, std::vector &buffer) noexcept { // TODO: we only take the first operation for now @@ -385,7 +385,7 @@ void BPSerializer::PutCharacteristicOperation( template void BPSerializer::PutOperationPayloadInBuffer( const core::Variable &variable, - const typename core::Variable::Info &blockInfo) + const typename core::Variable::BPInfo &blockInfo) { // TODO: we only take the first operation for now const std::map> bpOperations = diff --git a/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.cpp b/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.cpp index 0698a499d7..af9cec95fe 100644 --- a/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.cpp +++ b/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.cpp @@ -405,14 +405,14 @@ void BP3Deserializer::ClipMemory(const std::string &variableName, core::IO &io, template void BP3Deserializer::GetSyncVariableDataFromStream( \ core::Variable &, BufferSTL &) const; \ \ - template typename core::Variable::Info & \ + template typename core::Variable::BPInfo & \ BP3Deserializer::InitVariableBlockInfo(core::Variable &, T *) const; \ \ template void BP3Deserializer::SetVariableBlockInfo( \ - core::Variable &, typename core::Variable::Info &) const; \ + core::Variable &, typename core::Variable::BPInfo &) const; \ \ template void BP3Deserializer::ClipContiguousMemory( \ - typename core::Variable::Info &, const std::vector &, \ + typename core::Variable::BPInfo &, const std::vector &, \ const Box &, const Box &) const; \ \ template void BP3Deserializer::GetValueFromMetadata( \ @@ -433,24 +433,24 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) template helper::SubFileInfoMap BP3Deserializer::GetSubFileInfo( \ const core::Variable &) const; \ \ - template std::map::Info>> \ + template std::map::BPInfo>> \ BP3Deserializer::AllStepsBlocksInfo(const core::Variable &) const; \ \ - template std::vector::Info>> \ + template std::vector::BPInfo>> \ BP3Deserializer::AllRelativeStepsBlocksInfo(const core::Variable &) \ const; \ \ - template std::vector::Info> \ + template std::vector::BPInfo> \ BP3Deserializer::BlocksInfo(const core::Variable &, const size_t) \ const; \ \ template void BP3Deserializer::PreDataRead( \ - core::Variable &, typename core::Variable::Info &, \ + core::Variable &, typename core::Variable::BPInfo &, \ const helper::SubStreamBoxInfo &, char *&, size_t &, size_t &, \ const size_t); \ \ template void BP3Deserializer::PostDataRead( \ - core::Variable &, typename core::Variable::Info &, \ + core::Variable &, typename core::Variable::BPInfo &, \ const helper::SubStreamBoxInfo &, const bool, const size_t); ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.h b/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.h index 5b011dff16..b567d32422 100644 --- a/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.h +++ b/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.h @@ -61,7 +61,7 @@ class BP3Deserializer : virtual public BP3Base * twice) */ template - typename core::Variable::Info & + typename core::Variable::BPInfo & InitVariableBlockInfo(core::Variable &variable, T *data) const; /** @@ -72,7 +72,7 @@ class BP3Deserializer : virtual public BP3Base template void SetVariableBlockInfo(core::Variable &variable, - typename core::Variable::Info &blockInfo) const; + typename core::Variable::BPInfo &blockInfo) const; /** * Prepares the information to get raw data from the transport manager for a @@ -92,14 +92,14 @@ class BP3Deserializer : virtual public BP3Base */ template void PreDataRead(core::Variable &variable, - typename core::Variable::Info &blockInfo, + typename core::Variable::BPInfo &blockInfo, const helper::SubStreamBoxInfo &subStreamBoxInfo, char *&buffer, size_t &payloadSize, size_t &payloadOffset, const size_t threadID = 0); template void PostDataRead(core::Variable &variable, - typename core::Variable::Info &blockInfo, + typename core::Variable::BPInfo &blockInfo, const helper::SubStreamBoxInfo &subStreamBoxInfo, const bool isRowMajorDestination, const size_t threadID = 0); @@ -113,7 +113,7 @@ class BP3Deserializer : virtual public BP3Base * @param intersectionBox */ template - void ClipContiguousMemory(typename core::Variable::Info &blockInfo, + void ClipContiguousMemory(typename core::Variable::BPInfo &blockInfo, const std::vector &contiguousMemory, const Box &blockBox, const Box &intersectionBox) const; @@ -127,15 +127,15 @@ class BP3Deserializer : virtual public BP3Base void GetValueFromMetadata(core::Variable &variable, T *data) const; template - std::map::Info>> + std::map::BPInfo>> AllStepsBlocksInfo(const core::Variable &variable) const; template - std::vector::Info>> + std::vector::BPInfo>> AllRelativeStepsBlocksInfo(const core::Variable &variable) const; template - std::vector::Info> + std::vector::BPInfo> BlocksInfo(const core::Variable &variable, const size_t step) const; // TODO : Will deprecate all function below @@ -208,7 +208,7 @@ class BP3Deserializer : virtual public BP3Base void GetValueFromMetadataCommon(core::Variable &variable, T *data) const; template - std::vector::Info> + std::vector::BPInfo> BlocksInfoCommon(const core::Variable &variable, const std::vector &blocksIndexOffsets) const; @@ -227,14 +227,14 @@ class BP3Deserializer : virtual public BP3Base extern template void BP3Deserializer::GetSyncVariableDataFromStream( \ core::Variable &, BufferSTL &) const; \ \ - extern template typename core::Variable::Info & \ + extern template typename core::Variable::BPInfo & \ BP3Deserializer::InitVariableBlockInfo(core::Variable &, T *) const; \ \ extern template void BP3Deserializer::SetVariableBlockInfo( \ - core::Variable &, typename core::Variable::Info &) const; \ + core::Variable &, typename core::Variable::BPInfo &) const; \ \ extern template void BP3Deserializer::ClipContiguousMemory( \ - typename core::Variable::Info &, const std::vector &, \ + typename core::Variable::BPInfo &, const std::vector &, \ const Box &, const Box &intersectionBox) const; \ \ extern template void BP3Deserializer::GetValueFromMetadata( \ @@ -256,24 +256,25 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) const core::Variable &) const; \ \ extern template std::map::Info>> \ + std::vector::BPInfo>> \ BP3Deserializer::AllStepsBlocksInfo(const core::Variable &) const; \ \ - extern template std::vector::Info>> \ + extern template std::vector< \ + std::vector::BPInfo>> \ BP3Deserializer::AllRelativeStepsBlocksInfo(const core::Variable &) \ const; \ \ - extern template std::vector::Info> \ + extern template std::vector::BPInfo> \ BP3Deserializer::BlocksInfo(const core::Variable &, const size_t) \ const; \ \ extern template void BP3Deserializer::PreDataRead( \ - core::Variable &, typename core::Variable::Info &, \ + core::Variable &, typename core::Variable::BPInfo &, \ const helper::SubStreamBoxInfo &, char *&, size_t &, size_t &, \ const size_t); \ \ extern template void BP3Deserializer::PostDataRead( \ - core::Variable &, typename core::Variable::Info &, \ + core::Variable &, typename core::Variable::BPInfo &, \ const helper::SubStreamBoxInfo &, const bool, const size_t); ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.tcc b/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.tcc index f97a0ee98a..fb561cdff4 100644 --- a/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.tcc +++ b/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.tcc @@ -49,7 +49,7 @@ void BP3Deserializer::GetSyncVariableDataFromStream(core::Variable &variable, } template -typename core::Variable::Info & +typename core::Variable::BPInfo & BP3Deserializer::InitVariableBlockInfo(core::Variable &variable, T *data) const { @@ -94,7 +94,7 @@ BP3Deserializer::InitVariableBlockInfo(core::Variable &variable, // BlocksInfo() expects absolute step, stepsStart is relative // BlocksInfo() adds +1 to match the step starting from 1 // but absStep already is the actual step in the map - const std::vector::Info> blocksInfo = + const std::vector::BPInfo> blocksInfo = BlocksInfo(variable, absStep - 1); if (variable.m_BlockID >= blocksInfo.size()) @@ -129,7 +129,7 @@ BP3Deserializer::InitVariableBlockInfo(core::Variable &variable, template void BP3Deserializer::SetVariableBlockInfo( core::Variable &variable, - typename core::Variable::Info &blockInfo) const + typename core::Variable::BPInfo &blockInfo) const { auto lf_SetSubStreamInfoOperations = [&](const BPOpInfo &bpOpInfo, const size_t payloadOffset, @@ -158,7 +158,7 @@ void BP3Deserializer::SetVariableBlockInfo( auto lf_SetSubStreamInfoLocalArray = [&](const std::string &variableName, const Box &selectionBox, - typename core::Variable::Info &blockInfo, const size_t step, + typename core::Variable::BPInfo &blockInfo, const size_t step, const size_t blockIndexOffset, const BufferSTL &bufferSTL, const bool isRowMajor) @@ -273,7 +273,7 @@ void BP3Deserializer::SetVariableBlockInfo( auto lf_SetSubStreamInfoGlobalArray = [&](const std::string &variableName, const Box &selectionBox, - typename core::Variable::Info &blockInfo, const size_t step, + typename core::Variable::BPInfo &blockInfo, const size_t step, const size_t blockIndexOffset, const BufferSTL &bufferSTL, const bool isRowMajor) @@ -411,7 +411,7 @@ void BP3Deserializer::GetValueFromMetadata(core::Variable &variable, { const auto &buffer = m_Metadata.m_Buffer; - const typename core::Variable::Info &blockInfo = + const typename core::Variable::BPInfo &blockInfo = InitVariableBlockInfo(variable, data); const size_t stepsStart = blockInfo.StepsStart; @@ -466,7 +466,7 @@ void BP3Deserializer::GetValueFromMetadata(core::Variable &variable, template void BP3Deserializer::PreDataRead( - core::Variable &variable, typename core::Variable::Info &blockInfo, + core::Variable &variable, typename core::Variable::BPInfo &blockInfo, const helper::SubStreamBoxInfo &subStreamBoxInfo, char *&buffer, size_t &payloadSize, size_t &payloadOffset, const size_t threadID) { @@ -502,7 +502,7 @@ void BP3Deserializer::PreDataRead( template void BP3Deserializer::PostDataRead( - core::Variable &variable, typename core::Variable::Info &blockInfo, + core::Variable &variable, typename core::Variable::BPInfo &blockInfo, const helper::SubStreamBoxInfo &subStreamBoxInfo, const bool isRowMajorDestination, const size_t threadID) { @@ -591,10 +591,10 @@ void BP3Deserializer::PostDataRead( } template -std::map::Info>> +std::map::BPInfo>> BP3Deserializer::AllStepsBlocksInfo(const core::Variable &variable) const { - std::map::Info>> + std::map::BPInfo>> allStepsBlocksInfo; for (const auto &pair : variable.m_AvailableStepBlockIndexOffsets) @@ -609,11 +609,11 @@ BP3Deserializer::AllStepsBlocksInfo(const core::Variable &variable) const } template -std::vector::Info>> +std::vector::BPInfo>> BP3Deserializer::AllRelativeStepsBlocksInfo( const core::Variable &variable) const { - std::vector::Info>> + std::vector::BPInfo>> allRelativeStepsBlocksInfo( variable.m_AvailableStepBlockIndexOffsets.size()); @@ -629,7 +629,7 @@ BP3Deserializer::AllRelativeStepsBlocksInfo( } template -std::vector::Info> +std::vector::BPInfo> BP3Deserializer::BlocksInfo(const core::Variable &variable, const size_t step) const { @@ -637,14 +637,14 @@ BP3Deserializer::BlocksInfo(const core::Variable &variable, auto itStep = variable.m_AvailableStepBlockIndexOffsets.find(step + 1); if (itStep == variable.m_AvailableStepBlockIndexOffsets.end()) { - return std::vector::Info>(); + return std::vector::BPInfo>(); } return BlocksInfoCommon(variable, itStep->second); } template void BP3Deserializer::ClipContiguousMemory( - typename core::Variable::Info &blockInfo, + typename core::Variable::BPInfo &blockInfo, const std::vector &contiguousMemory, const Box &blockBox, const Box &intersectionBox) const { @@ -1052,11 +1052,12 @@ BP3Deserializer::GetSubFileInfo(const core::Variable &variable) const // PRIVATE template -std::vector::Info> BP3Deserializer::BlocksInfoCommon( +std::vector::BPInfo> +BP3Deserializer::BlocksInfoCommon( const core::Variable &variable, const std::vector &blocksIndexOffsets) const { - std::vector::Info> blocksInfo; + std::vector::BPInfo> blocksInfo; blocksInfo.reserve(blocksIndexOffsets.size()); size_t n = 0; @@ -1070,7 +1071,7 @@ std::vector::Info> BP3Deserializer::BlocksInfoCommon( TypeTraits::type_enum, false, m_Minifooter.IsLittleEndian); - typename core::Variable::Info blockInfo; + typename core::Variable::BPInfo blockInfo; blockInfo.Shape = blockCharacteristics.Shape; blockInfo.Start = blockCharacteristics.Start; blockInfo.Count = blockCharacteristics.Count; diff --git a/source/adios2/toolkit/format/bp/bp3/BP3Serializer.cpp b/source/adios2/toolkit/format/bp/bp3/BP3Serializer.cpp index 8d5f595985..7f921a09ca 100644 --- a/source/adios2/toolkit/format/bp/bp3/BP3Serializer.cpp +++ b/source/adios2/toolkit/format/bp/bp3/BP3Serializer.cpp @@ -681,11 +681,11 @@ ADIOS2_FOREACH_ATTRIBUTE_STDTYPE_1ARG(declare_template_instantiation) #define declare_template_instantiation(T) \ template void BP3Serializer::PutVariableMetadata( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool, typename core::Variable::Span *) noexcept; \ \ template void BP3Serializer::PutVariablePayload( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool, typename core::Variable::Span *) noexcept; ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/bp3/BP3Serializer.h b/source/adios2/toolkit/format/bp/bp3/BP3Serializer.h index f0c2872f81..93731b7283 100644 --- a/source/adios2/toolkit/format/bp/bp3/BP3Serializer.h +++ b/source/adios2/toolkit/format/bp/bp3/BP3Serializer.h @@ -56,7 +56,7 @@ class BP3Serializer : public BP3Base, public BPSerializer template void PutVariableMetadata( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor = true, typename core::Variable::Span *span = nullptr) noexcept; @@ -67,7 +67,7 @@ class BP3Serializer : public BP3Base, public BPSerializer template void PutVariablePayload( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor = true, typename core::Variable::Span *span = nullptr) noexcept; @@ -171,20 +171,20 @@ class BP3Serializer : public BP3Base, public BPSerializer */ template Stats GetBPStats(const bool singleValue, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool isRowMajor) noexcept; template void PutVariableMetadataInData( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const typename core::Variable::Span *span = nullptr) noexcept; template void PutVariableMetadataInIndex( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const bool isNew, BPBase::SerialElementIndex &index, typename core::Variable::Span *span) noexcept; @@ -192,14 +192,14 @@ class BP3Serializer : public BP3Base, public BPSerializer template void PutVariableCharacteristics( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, typename core::Variable::Span *span) noexcept; template void PutVariableCharacteristics( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, size_t &position) noexcept; @@ -238,11 +238,11 @@ class BP3Serializer : public BP3Base, public BPSerializer #define declare_template_instantiation(T) \ extern template void BP3Serializer::PutVariableMetadata( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool, typename core::Variable::Span *) noexcept; \ \ extern template void BP3Serializer::PutVariablePayload( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool, typename core::Variable::Span *) noexcept; ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/bp3/BP3Serializer.tcc b/source/adios2/toolkit/format/bp/bp3/BP3Serializer.tcc index 19ab342802..c8e7a86360 100644 --- a/source/adios2/toolkit/format/bp/bp3/BP3Serializer.tcc +++ b/source/adios2/toolkit/format/bp/bp3/BP3Serializer.tcc @@ -26,7 +26,7 @@ namespace format template void BP3Serializer::PutVariableMetadata( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor, typename core::Variable::Span *span) noexcept { auto lf_SetOffset = [&](uint64_t &offset) { @@ -71,7 +71,7 @@ void BP3Serializer::PutVariableMetadata( template inline void BP3Serializer::PutVariablePayload( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor, typename core::Variable::Span *span) noexcept { m_Profiler.Start("buffering"); @@ -271,7 +271,7 @@ void BP3Serializer::PutAttributeInDataCommon( template <> inline BP3Serializer::Stats BP3Serializer::GetBPStats( const bool /*singleValue*/, - const typename core::Variable::Info & /*blockInfo*/, + const typename core::Variable::BPInfo & /*blockInfo*/, const bool /*isRowMajor*/) noexcept { Stats stats; @@ -283,7 +283,7 @@ inline BP3Serializer::Stats BP3Serializer::GetBPStats( template BP3Serializer::Stats BP3Serializer::GetBPStats(const bool singleValue, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool isRowMajor) noexcept { Stats stats; @@ -331,7 +331,7 @@ BP3Serializer::GetBPStats(const bool singleValue, template void BP3Serializer::PutVariableMetadataInData( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, const Stats &stats, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const typename core::Variable::Span *span) noexcept { auto &buffer = m_Data.m_Buffer; @@ -401,7 +401,7 @@ void BP3Serializer::PutVariableMetadataInData( template <> inline void BP3Serializer::PutVariableMetadataInData( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const typename core::Variable::Span * /*span*/) noexcept { @@ -450,7 +450,7 @@ inline void BP3Serializer::PutVariableMetadataInData( template void BP3Serializer::PutVariableMetadataInIndex( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, const Stats &stats, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const bool isNew, SerialElementIndex &index, typename core::Variable::Span *span) noexcept { @@ -544,7 +544,7 @@ void BP3Serializer::PutBoundsRecord(const bool singleValue, template <> inline void BP3Serializer::PutVariableCharacteristics( const core::Variable &variable, - const core::Variable::Info &blockInfo, + const core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, typename core::Variable::Span * /*span*/) noexcept { @@ -599,7 +599,7 @@ inline void BP3Serializer::PutVariableCharacteristics( template void BP3Serializer::PutVariableCharacteristics( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, const Stats &stats, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, typename core::Variable::Span *span) noexcept { // going back at the end @@ -679,7 +679,7 @@ void BP3Serializer::PutVariableCharacteristics( template void BP3Serializer::PutVariableCharacteristics( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, const Stats &stats, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, size_t &position) noexcept { // going back at the end diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp b/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp index 5ce632c1ef..05728c9a41 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp +++ b/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp @@ -670,14 +670,14 @@ bool BP4Deserializer::ReadActiveFlag(std::vector &buffer) template void BP4Deserializer::GetSyncVariableDataFromStream( \ core::Variable &, BufferSTL &) const; \ \ - template typename core::Variable::Info & \ + template typename core::Variable::BPInfo & \ BP4Deserializer::InitVariableBlockInfo(core::Variable &, T *) const; \ \ template void BP4Deserializer::SetVariableBlockInfo( \ - core::Variable &, typename core::Variable::Info &) const; \ + core::Variable &, typename core::Variable::BPInfo &) const; \ \ template void BP4Deserializer::ClipContiguousMemory( \ - typename core::Variable::Info &, const std::vector &, \ + typename core::Variable::BPInfo &, const std::vector &, \ const Box &, const Box &) const; \ \ template void BP4Deserializer::GetValueFromMetadata( \ @@ -698,24 +698,24 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) template helper::SubFileInfoMap BP4Deserializer::GetSubFileInfo( \ const core::Variable &) const; \ \ - template std::map::Info>> \ + template std::map::BPInfo>> \ BP4Deserializer::AllStepsBlocksInfo(const core::Variable &) const; \ \ - template std::vector::Info>> \ + template std::vector::BPInfo>> \ BP4Deserializer::AllRelativeStepsBlocksInfo(const core::Variable &) \ const; \ \ - template std::vector::Info> \ + template std::vector::BPInfo> \ BP4Deserializer::BlocksInfo(const core::Variable &, const size_t) \ const; \ \ template void BP4Deserializer::PreDataRead( \ - core::Variable &, typename core::Variable::Info &, \ + core::Variable &, typename core::Variable::BPInfo &, \ const helper::SubStreamBoxInfo &, char *&, size_t &, size_t &, \ const size_t); \ \ template void BP4Deserializer::PostDataRead( \ - core::Variable &, typename core::Variable::Info &, \ + core::Variable &, typename core::Variable::BPInfo &, \ const helper::SubStreamBoxInfo &, const bool, const size_t); ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.h b/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.h index 149e03c694..9caab8e9a5 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.h +++ b/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.h @@ -76,7 +76,7 @@ class BP4Deserializer : virtual public BP4Base * twice) */ template - typename core::Variable::Info & + typename core::Variable::BPInfo & InitVariableBlockInfo(core::Variable &variable, T *data) const; /** @@ -87,7 +87,7 @@ class BP4Deserializer : virtual public BP4Base template void SetVariableBlockInfo(core::Variable &variable, - typename core::Variable::Info &blockInfo) const; + typename core::Variable::BPInfo &blockInfo) const; /** * Prepares the information to get raw data from the transport manager for a @@ -107,14 +107,14 @@ class BP4Deserializer : virtual public BP4Base */ template void PreDataRead(core::Variable &variable, - typename core::Variable::Info &blockInfo, + typename core::Variable::BPInfo &blockInfo, const helper::SubStreamBoxInfo &subStreamBoxInfo, char *&buffer, size_t &payloadSize, size_t &payloadOffset, const size_t threadID = 0); template void PostDataRead(core::Variable &variable, - typename core::Variable::Info &blockInfo, + typename core::Variable::BPInfo &blockInfo, const helper::SubStreamBoxInfo &subStreamBoxInfo, const bool isRowMajorDestination, const size_t threadID = 0); @@ -128,7 +128,7 @@ class BP4Deserializer : virtual public BP4Base * @param intersectionBox */ template - void ClipContiguousMemory(typename core::Variable::Info &blockInfo, + void ClipContiguousMemory(typename core::Variable::BPInfo &blockInfo, const std::vector &contiguousMemory, const Box &blockBox, const Box &intersectionBox) const; @@ -142,15 +142,15 @@ class BP4Deserializer : virtual public BP4Base void GetValueFromMetadata(core::Variable &variable, T *data) const; template - std::map::Info>> + std::map::BPInfo>> AllStepsBlocksInfo(const core::Variable &variable) const; template - std::vector::Info>> + std::vector::BPInfo>> AllRelativeStepsBlocksInfo(const core::Variable &variable) const; template - std::vector::Info> + std::vector::BPInfo> BlocksInfo(const core::Variable &variable, const size_t step) const; // TODO : Will deprecate all function below @@ -226,7 +226,7 @@ class BP4Deserializer : virtual public BP4Base size_t position) const; template - std::vector::Info> + std::vector::BPInfo> BlocksInfoCommon(const core::Variable &variable, const std::vector &blocksIndexOffsets) const; @@ -245,14 +245,14 @@ class BP4Deserializer : virtual public BP4Base extern template void BP4Deserializer::GetSyncVariableDataFromStream( \ core::Variable &, BufferSTL &) const; \ \ - extern template typename core::Variable::Info & \ + extern template typename core::Variable::BPInfo & \ BP4Deserializer::InitVariableBlockInfo(core::Variable &, T *) const; \ \ extern template void BP4Deserializer::SetVariableBlockInfo( \ - core::Variable &, typename core::Variable::Info &) const; \ + core::Variable &, typename core::Variable::BPInfo &) const; \ \ extern template void BP4Deserializer::ClipContiguousMemory( \ - typename core::Variable::Info &, const std::vector &, \ + typename core::Variable::BPInfo &, const std::vector &, \ const Box &, const Box &intersectionBox) const; \ \ extern template void BP4Deserializer::GetValueFromMetadata( \ @@ -274,20 +274,20 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) const core::Variable &) const; \ \ extern template std::map::Info>> \ + std::vector::BPInfo>> \ BP4Deserializer::AllStepsBlocksInfo(const core::Variable &) const; \ \ - extern template std::vector::Info> \ + extern template std::vector::BPInfo> \ BP4Deserializer::BlocksInfo(const core::Variable &, const size_t) \ const; \ \ extern template void BP4Deserializer::PreDataRead( \ - core::Variable &, typename core::Variable::Info &, \ + core::Variable &, typename core::Variable::BPInfo &, \ const helper::SubStreamBoxInfo &, char *&, size_t &, size_t &, \ const size_t); \ \ extern template void BP4Deserializer::PostDataRead( \ - core::Variable &, typename core::Variable::Info &, \ + core::Variable &, typename core::Variable::BPInfo &, \ const helper::SubStreamBoxInfo &, const bool, const size_t); ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.tcc b/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.tcc index c3154bb178..7ffa95d3d4 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.tcc +++ b/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.tcc @@ -52,7 +52,7 @@ void BP4Deserializer::GetSyncVariableDataFromStream(core::Variable &variable, } template -typename core::Variable::Info & +typename core::Variable::BPInfo & BP4Deserializer::InitVariableBlockInfo(core::Variable &variable, T *data) const { @@ -97,7 +97,7 @@ BP4Deserializer::InitVariableBlockInfo(core::Variable &variable, // BlocksInfo() expects absolute step, stepsStart is relative // BlocksInfo() adds +1 to match the step starting from 1 // but absStep already is the actual step in the map - const std::vector::Info> blocksInfo = + const std::vector::BPInfo> blocksInfo = BlocksInfo(variable, absStep - 1); if (variable.m_BlockID >= blocksInfo.size()) @@ -132,7 +132,7 @@ BP4Deserializer::InitVariableBlockInfo(core::Variable &variable, template void BP4Deserializer::SetVariableBlockInfo( core::Variable &variable, - typename core::Variable::Info &blockInfo) const + typename core::Variable::BPInfo &blockInfo) const { auto lf_SetSubStreamInfoOperations = [&](const BPOpInfo &bpOpInfo, const size_t payloadOffset, @@ -161,7 +161,7 @@ void BP4Deserializer::SetVariableBlockInfo( auto lf_SetSubStreamInfoLocalArray = [&](const std::string &variableName, const Box &selectionBox, - typename core::Variable::Info &blockInfo, const size_t step, + typename core::Variable::BPInfo &blockInfo, const size_t step, const size_t blockIndexOffset, const BufferSTL &bufferSTL, const bool isRowMajor) @@ -276,7 +276,7 @@ void BP4Deserializer::SetVariableBlockInfo( auto lf_SetSubStreamInfoGlobalArray = [&](const std::string &variableName, const Box &selectionBox, - typename core::Variable::Info &blockInfo, const size_t step, + typename core::Variable::BPInfo &blockInfo, const size_t step, const size_t blockIndexOffset, const BufferSTL &bufferSTL, const bool isRowMajor) @@ -415,7 +415,7 @@ void BP4Deserializer::GetValueFromMetadata(core::Variable &variable, { const auto &buffer = m_Metadata.m_Buffer; - const typename core::Variable::Info &blockInfo = + const typename core::Variable::BPInfo &blockInfo = InitVariableBlockInfo(variable, data); const size_t stepsStart = blockInfo.StepsStart; @@ -470,7 +470,7 @@ void BP4Deserializer::GetValueFromMetadata(core::Variable &variable, template void BP4Deserializer::PreDataRead( - core::Variable &variable, typename core::Variable::Info &blockInfo, + core::Variable &variable, typename core::Variable::BPInfo &blockInfo, const helper::SubStreamBoxInfo &subStreamBoxInfo, char *&buffer, size_t &payloadSize, size_t &payloadOffset, const size_t threadID) { @@ -506,7 +506,7 @@ void BP4Deserializer::PreDataRead( template void BP4Deserializer::PostDataRead( - core::Variable &variable, typename core::Variable::Info &blockInfo, + core::Variable &variable, typename core::Variable::BPInfo &blockInfo, const helper::SubStreamBoxInfo &subStreamBoxInfo, const bool isRowMajorDestination, const size_t threadID) { @@ -557,10 +557,10 @@ void BP4Deserializer::PostDataRead( } template -std::map::Info>> +std::map::BPInfo>> BP4Deserializer::AllStepsBlocksInfo(const core::Variable &variable) const { - std::map::Info>> + std::map::BPInfo>> allStepsBlocksInfo; for (const auto &pair : variable.m_AvailableStepBlockIndexOffsets) @@ -575,11 +575,11 @@ BP4Deserializer::AllStepsBlocksInfo(const core::Variable &variable) const } template -std::vector::Info>> +std::vector::BPInfo>> BP4Deserializer::AllRelativeStepsBlocksInfo( const core::Variable &variable) const { - std::vector::Info>> + std::vector::BPInfo>> allRelativeStepsBlocksInfo( variable.m_AvailableStepBlockIndexOffsets.size()); @@ -595,7 +595,7 @@ BP4Deserializer::AllRelativeStepsBlocksInfo( } template -std::vector::Info> +std::vector::BPInfo> BP4Deserializer::BlocksInfo(const core::Variable &variable, const size_t step) const { @@ -603,14 +603,14 @@ BP4Deserializer::BlocksInfo(const core::Variable &variable, auto itStep = variable.m_AvailableStepBlockIndexOffsets.find(step + 1); if (itStep == variable.m_AvailableStepBlockIndexOffsets.end()) { - return std::vector::Info>(); + return std::vector::BPInfo>(); } return BlocksInfoCommon(variable, itStep->second); } template void BP4Deserializer::ClipContiguousMemory( - typename core::Variable::Info &blockInfo, + typename core::Variable::BPInfo &blockInfo, const std::vector &contiguousMemory, const Box &blockBox, const Box &intersectionBox) const { @@ -1139,11 +1139,12 @@ BP4Deserializer::GetSubFileInfo(const core::Variable &variable) const // PRIVATE template -std::vector::Info> BP4Deserializer::BlocksInfoCommon( +std::vector::BPInfo> +BP4Deserializer::BlocksInfoCommon( const core::Variable &variable, const std::vector &blocksIndexOffsets) const { - std::vector::Info> blocksInfo; + std::vector::BPInfo> blocksInfo; blocksInfo.reserve(blocksIndexOffsets.size()); size_t n = 0; @@ -1156,7 +1157,7 @@ std::vector::Info> BP4Deserializer::BlocksInfoCommon( TypeTraits::type_enum, false, m_Minifooter.IsLittleEndian); - typename core::Variable::Info blockInfo; + typename core::Variable::BPInfo blockInfo; blockInfo.Shape = blockCharacteristics.Shape; blockInfo.Start = blockCharacteristics.Start; blockInfo.Count = blockCharacteristics.Count; diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp index ff3caaeafc..882f245006 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp +++ b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp @@ -1149,11 +1149,11 @@ ADIOS2_FOREACH_ATTRIBUTE_STDTYPE_1ARG(declare_template_instantiation) #define declare_template_instantiation(T) \ template void BP4Serializer::PutVariablePayload( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool, typename core::Variable::Span *) noexcept; \ \ template void BP4Serializer::PutVariableMetadata( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool, typename core::Variable::Span *) noexcept; ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) @@ -1163,7 +1163,7 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) #define declare_template_instantiation(T) \ template void BP4Serializer::PutSpanMetadata( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const typename core::Variable::Span &) noexcept; ADIOS2_FOREACH_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.h b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.h index bdc29045bd..153915697e 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.h +++ b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.h @@ -68,7 +68,7 @@ class BP4Serializer : public BP4Base, public BPSerializer template void PutVariableMetadata( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor = true, typename core::Variable::Span *span = nullptr) noexcept; @@ -79,13 +79,13 @@ class BP4Serializer : public BP4Base, public BPSerializer template void PutVariablePayload( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor = true, typename core::Variable::Span *span = nullptr) noexcept; template void PutSpanMetadata(const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Span &span) noexcept; /** @@ -197,7 +197,7 @@ class BP4Serializer : public BP4Base, public BPSerializer */ template Stats GetBPStats(const bool singleValue, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool isRowMajor) noexcept; /** @return The position that holds the length of the variable entry @@ -207,28 +207,28 @@ class BP4Serializer : public BP4Base, public BPSerializer template size_t PutVariableMetadataInData( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const typename core::Variable::Span *span) noexcept; template void PutVariableMetadataInIndex( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const bool isNew, SerialElementIndex &index, typename core::Variable::Span *span) noexcept; template void PutVariableCharacteristics( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, typename core::Variable::Span *span) noexcept; template void PutVariableCharacteristicsInData( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, size_t &position) noexcept; @@ -258,11 +258,11 @@ class BP4Serializer : public BP4Base, public BPSerializer #define declare_template_instantiation(T) \ extern template void BP4Serializer::PutVariablePayload( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool, typename core::Variable::Span *) noexcept; \ \ extern template void BP4Serializer::PutVariableMetadata( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const bool, typename core::Variable::Span *) noexcept; ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) @@ -270,7 +270,7 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_template_instantiation) #define declare_template_instantiation(T) \ extern template void BP4Serializer::PutSpanMetadata( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const typename core::Variable::Span &) noexcept; ADIOS2_FOREACH_PRIMITIVE_STDTYPE_1ARG(declare_template_instantiation) diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.tcc b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.tcc index b3b4296033..6a298e1815 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.tcc +++ b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.tcc @@ -33,7 +33,7 @@ namespace format template inline void BP4Serializer::PutVariableMetadata( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor, typename core::Variable::Span *span) noexcept { auto lf_SetOffset = [&](uint64_t &offset) { @@ -81,7 +81,7 @@ inline void BP4Serializer::PutVariableMetadata( template inline void BP4Serializer::PutVariablePayload( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool sourceRowMajor, typename core::Variable::Span *span) noexcept { m_Profiler.Start("buffering"); @@ -134,7 +134,7 @@ inline void BP4Serializer::PutVariablePayload( template void BP4Serializer::PutSpanMetadata( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Span &span) noexcept { if (m_Parameters.StatsLevel > 0) @@ -315,7 +315,7 @@ void BP4Serializer::PutAttributeInDataCommon( template <> inline BP4Serializer::Stats BP4Serializer::GetBPStats( const bool /*singleValue*/, - const typename core::Variable::Info & /*blockInfo*/, + const typename core::Variable::BPInfo & /*blockInfo*/, const bool /*isRowMajor*/) noexcept { Stats stats; @@ -327,7 +327,7 @@ inline BP4Serializer::Stats BP4Serializer::GetBPStats( template BP4Serializer::Stats BP4Serializer::GetBPStats(const bool singleValue, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const bool isRowMajor) noexcept { Stats stats; @@ -385,7 +385,7 @@ BP4Serializer::GetBPStats(const bool singleValue, template size_t BP4Serializer::PutVariableMetadataInData( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, const Stats &stats, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const typename core::Variable::Span *span) noexcept { auto &buffer = m_Data.m_Buffer; @@ -460,7 +460,7 @@ size_t BP4Serializer::PutVariableMetadataInData( template <> inline size_t BP4Serializer::PutVariableMetadataInData( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const typename core::Variable::Span * /*span*/) noexcept { @@ -520,7 +520,7 @@ inline size_t BP4Serializer::PutVariableMetadataInData( template void BP4Serializer::PutVariableMetadataInIndex( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, const Stats &stats, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, const bool isNew, SerialElementIndex &index, typename core::Variable::Span *span) noexcept { @@ -698,7 +698,7 @@ void BP4Serializer::PutBoundsRecord(const bool singleValue, template <> inline void BP4Serializer::PutVariableCharacteristics( const core::Variable &variable, - const core::Variable::Info &blockInfo, + const core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, typename core::Variable::Span * /*span*/) noexcept { @@ -753,7 +753,7 @@ inline void BP4Serializer::PutVariableCharacteristics( template void BP4Serializer::PutVariableCharacteristics( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, const Stats &stats, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, typename core::Variable::Span *span) noexcept { // going back at the end @@ -837,7 +837,7 @@ void BP4Serializer::PutVariableCharacteristics( template void BP4Serializer::PutVariableCharacteristicsInData( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, const Stats &stats, + const typename core::Variable::BPInfo &blockInfo, const Stats &stats, std::vector &buffer, size_t &position) noexcept { // going back at the end diff --git a/source/adios2/toolkit/format/bp/bpOperation/BPOperation.cpp b/source/adios2/toolkit/format/bp/bpOperation/BPOperation.cpp index 55417a62a8..0f7b497063 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/BPOperation.cpp +++ b/source/adios2/toolkit/format/bp/bpOperation/BPOperation.cpp @@ -19,7 +19,7 @@ namespace format #define declare_type(T) \ void BPOperation::SetData( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept \ { \ @@ -27,7 +27,7 @@ namespace format \ void BPOperation::SetMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ @@ -35,7 +35,7 @@ namespace format \ void BPOperation::UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ @@ -47,17 +47,17 @@ ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #define declare_type(T) \ \ template void BPOperation::SetDataDefault( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const typename core::Variable::Operation &, BufferSTL &bufferSTL) \ const noexcept; \ \ template void BPOperation::SetMetadataDefault( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const typename core::Variable::Operation &, std::vector &) \ const noexcept; \ \ template void BPOperation::UpdateMetadataDefault( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const typename core::Variable::Operation &, std::vector &) \ const noexcept; diff --git a/source/adios2/toolkit/format/bp/bpOperation/BPOperation.h b/source/adios2/toolkit/format/bp/bpOperation/BPOperation.h index 96fa340f36..d022231171 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/BPOperation.h +++ b/source/adios2/toolkit/format/bp/bpOperation/BPOperation.h @@ -33,19 +33,19 @@ class BPOperation #define declare_type(T) \ virtual void SetData( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept; \ \ virtual void SetMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept; \ \ virtual void UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept; @@ -67,21 +67,21 @@ class BPOperation protected: template void SetDataDefault(const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, BufferSTL &bufferSTL) const noexcept; template void SetMetadataDefault(const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept; template void UpdateMetadataDefault( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept; }; @@ -89,17 +89,17 @@ class BPOperation #define declare_type(T) \ \ extern template void BPOperation::SetDataDefault( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const typename core::Variable::Operation &, BufferSTL &bufferSTL) \ const noexcept; \ \ extern template void BPOperation::SetMetadataDefault( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const typename core::Variable::Operation &, std::vector &) \ const noexcept; \ \ extern template void BPOperation::UpdateMetadataDefault( \ - const core::Variable &, const typename core::Variable::Info &, \ + const core::Variable &, const typename core::Variable::BPInfo &, \ const typename core::Variable::Operation &, std::vector &) \ const noexcept; diff --git a/source/adios2/toolkit/format/bp/bpOperation/BPOperation.tcc b/source/adios2/toolkit/format/bp/bpOperation/BPOperation.tcc index a4c9bbcba8..ffc13c2692 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/BPOperation.tcc +++ b/source/adios2/toolkit/format/bp/bpOperation/BPOperation.tcc @@ -22,7 +22,7 @@ namespace format template void BPOperation::SetDataDefault( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, BufferSTL &bufferSTL) const noexcept { @@ -45,7 +45,7 @@ void BPOperation::SetDataDefault( template void BPOperation::SetMetadataDefault( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept { @@ -67,7 +67,7 @@ void BPOperation::SetMetadataDefault( template void BPOperation::UpdateMetadataDefault( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept { diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.cpp b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.cpp index 1d12ea003f..f1f08b4a32 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.cpp +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.cpp @@ -25,7 +25,7 @@ namespace format #define declare_type(T) \ void BPBZIP2::SetData( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept \ { \ @@ -34,7 +34,7 @@ namespace format \ void BPBZIP2::SetMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ @@ -43,7 +43,7 @@ namespace format \ void BPBZIP2::UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.h b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.h index afa9d33741..b5c5a433d5 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.h +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.h @@ -31,18 +31,18 @@ class BPBZIP2 : public BPOperation // using override due to PGI compiler warnings #define declare_type(T) \ void SetData(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept override; \ \ void SetMetadata(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; \ \ void UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; @@ -60,14 +60,14 @@ class BPBZIP2 : public BPOperation template void SetMetadataCommon(const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept; template void UpdateMetadataCommon(const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept; }; diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.tcc b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.tcc index b2f76eda91..e361ca7003 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.tcc +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBZIP2.tcc @@ -23,7 +23,7 @@ namespace format template void BPBZIP2::SetMetadataCommon( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept { @@ -56,7 +56,7 @@ void BPBZIP2::SetMetadataCommon( template void BPBZIP2::UpdateMetadataCommon( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept { diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBlosc.cpp b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBlosc.cpp index 728c89cf35..48ee23d789 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBlosc.cpp +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBlosc.cpp @@ -24,7 +24,7 @@ namespace format #define declare_type(T) \ void BPBlosc::SetData( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept \ { \ @@ -33,7 +33,7 @@ namespace format \ void BPBlosc::SetMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ @@ -42,7 +42,7 @@ namespace format \ void BPBlosc::UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBlosc.h b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBlosc.h index 1cbb8495c2..a1d619347f 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPBlosc.h +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPBlosc.h @@ -30,18 +30,18 @@ class BPBlosc : public BPOperation using BPOperation::UpdateMetadata; #define declare_type(T) \ void SetData(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept override; \ \ void SetMetadata(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; \ \ void UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPMGARD.cpp b/source/adios2/toolkit/format/bp/bpOperation/compress/BPMGARD.cpp index 4c8e748fe1..744a013155 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPMGARD.cpp +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPMGARD.cpp @@ -25,7 +25,7 @@ namespace format #define declare_type(T) \ void BPMGARD::SetData( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept \ { \ @@ -34,7 +34,7 @@ namespace format \ void BPMGARD::SetMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ @@ -43,7 +43,7 @@ namespace format \ void BPMGARD::UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPMGARD.h b/source/adios2/toolkit/format/bp/bpOperation/compress/BPMGARD.h index 6b761137cf..bbc397c147 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPMGARD.h +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPMGARD.h @@ -30,18 +30,18 @@ class BPMGARD : public BPOperation using BPOperation::UpdateMetadata; #define declare_type(T) \ void SetData(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept override; \ \ void SetMetadata(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; \ \ void UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPPNG.cpp b/source/adios2/toolkit/format/bp/bpOperation/compress/BPPNG.cpp index e501e4ae8f..366b044a48 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPPNG.cpp +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPPNG.cpp @@ -24,7 +24,7 @@ namespace format #define declare_type(T) \ void BPPNG::SetData( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept \ { \ @@ -33,7 +33,7 @@ namespace format \ void BPPNG::SetMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ @@ -42,7 +42,7 @@ namespace format \ void BPPNG::UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPPNG.h b/source/adios2/toolkit/format/bp/bpOperation/compress/BPPNG.h index 2334a45dc9..d81ea94c01 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPPNG.h +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPPNG.h @@ -30,18 +30,18 @@ class BPPNG : public BPOperation using BPOperation::UpdateMetadata; #define declare_type(T) \ void SetData(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept override; \ \ void SetMetadata(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; \ \ void UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPSZ.cpp b/source/adios2/toolkit/format/bp/bpOperation/compress/BPSZ.cpp index e1d9b107aa..4083c70d86 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPSZ.cpp +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPSZ.cpp @@ -24,7 +24,7 @@ namespace format #define declare_type(T) \ void BPSZ::SetData(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept \ { \ @@ -33,7 +33,7 @@ namespace format \ void BPSZ::SetMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ @@ -42,7 +42,7 @@ namespace format \ void BPSZ::UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPSZ.h b/source/adios2/toolkit/format/bp/bpOperation/compress/BPSZ.h index 7c887c4099..deef59bbdf 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPSZ.h +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPSZ.h @@ -30,18 +30,18 @@ class BPSZ : public BPOperation using BPOperation::UpdateMetadata; #define declare_type(T) \ void SetData(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept override; \ \ void SetMetadata(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; \ \ void UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.cpp b/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.cpp index 0d8059008b..b5f1b020f9 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.cpp +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.cpp @@ -26,7 +26,7 @@ namespace format #define declare_type(T) \ void BPZFP::SetData( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept \ { \ @@ -35,7 +35,7 @@ namespace format \ void BPZFP::SetMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ @@ -44,7 +44,7 @@ namespace format \ void BPZFP::UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept \ { \ diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.h b/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.h index 9f2e9dea3e..90fee2201b 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.h +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.h @@ -30,18 +30,18 @@ class BPZFP : public BPOperation using BPOperation::UpdateMetadata; #define declare_type(T) \ void SetData(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ BufferSTL &bufferSTL) const noexcept override; \ \ void SetMetadata(const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; \ \ void UpdateMetadata( \ const core::Variable &variable, \ - const typename core::Variable::Info &blockInfo, \ + const typename core::Variable::BPInfo &blockInfo, \ const typename core::Variable::Operation &operation, \ std::vector &buffer) const noexcept override; @@ -66,7 +66,7 @@ class BPZFP : public BPOperation template void SetMetadataCommon(const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept; }; diff --git a/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.tcc b/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.tcc index 741e12c4f1..8b03a70900 100644 --- a/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.tcc +++ b/source/adios2/toolkit/format/bp/bpOperation/compress/BPZFP.tcc @@ -23,7 +23,7 @@ namespace format template void BPZFP::SetMetadataCommon( const core::Variable &variable, - const typename core::Variable::Info &blockInfo, + const typename core::Variable::BPInfo &blockInfo, const typename core::Variable::Operation &operation, std::vector &buffer) const noexcept { diff --git a/source/adios2/toolkit/query/BlockIndex.h b/source/adios2/toolkit/query/BlockIndex.h index 0e2e3e78bf..13a9a76eea 100644 --- a/source/adios2/toolkit/query/BlockIndex.h +++ b/source/adios2/toolkit/query/BlockIndex.h @@ -16,9 +16,9 @@ class BlockIndex { // // ** no need to keep the original block. might be smaller than - // blockIndex typename Variable::info& m_BlockInfo; + // blockIndex typename Variable::BPInfo& m_BlockInfo; // - std::vector::Info> m_SubBlockInfo; + std::vector::BPInfo> m_SubBlockInfo; }; public: @@ -44,7 +44,7 @@ class BlockIndex if (!query.IsSelectionValid(currShape)) return; - std::vector::Info> varBlocksInfo = + std::vector::BPInfo> varBlocksInfo = m_IdxReader.BlocksInfo(m_Var, currStep); for (auto &blockInfo : varBlocksInfo) @@ -96,7 +96,7 @@ class BlockIndex if (!query.IsSelectionValid(currShape)) return; - std::vector::Info> varBlocksInfo = + std::vector::BPInfo> varBlocksInfo = m_IdxReader.BlocksInfo(m_Var, currStep); for (auto &blockInfo : varBlocksInfo) diff --git a/source/utils/bpls/bpls.cpp b/source/utils/bpls/bpls.cpp index 2cfba743c7..0a34ad3625 100644 --- a/source/utils/bpls/bpls.cpp +++ b/source/utils/bpls/bpls.cpp @@ -2109,7 +2109,7 @@ int readVar(core::Engine *fp, core::IO *io, core::Variable *variable) template int readVarBlock(core::Engine *fp, core::IO *io, core::Variable *variable, size_t step, size_t blockid, - typename core::Variable::Info &blockinfo) + typename core::Variable::BPInfo &blockinfo) { int i, j; uint64_t start_t[MAX_DIMS], @@ -3021,7 +3021,7 @@ std::pair get_local_array_signature(core::Engine *fp, if (timestep) { - std::vector::Info> blocks = + std::vector::BPInfo> blocks = fp->BlocksInfo(*variable, fp->CurrentStep()); nblocks = blocks.size(); bool firstBlock = true; @@ -3043,7 +3043,7 @@ std::pair get_local_array_signature(core::Engine *fp, } else { - std::map::Info>> + std::map::BPInfo>> allblocks = fp->AllStepsBlocksInfo(*variable); bool firstStep = true; @@ -3051,7 +3051,7 @@ std::pair get_local_array_signature(core::Engine *fp, for (auto &blockpair : allblocks) { - std::vector::Info> &blocks = + std::vector::BPInfo> &blocks = blockpair.second; const size_t blocksSize = blocks.size(); if (firstStep) @@ -3089,8 +3089,8 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable *variable) { /* Print block info */ DataType adiosvartype = variable->m_Type; - std::map::Info>> allblocks = - fp->AllStepsBlocksInfo(*variable); + std::map::BPInfo>> + allblocks = fp->AllStepsBlocksInfo(*variable); if (allblocks.empty()) { return; @@ -3104,7 +3104,7 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable *variable) for (auto &blockpair : allblocks) { size_t step = blockpair.first; - std::vector::Info> &blocks = + std::vector::BPInfo> &blocks = blockpair.second; fprintf(outf, "%c step %*zu: ", commentchar, ndigits_nsteps, step); @@ -3170,7 +3170,7 @@ void print_decomp(core::Engine *fp, core::IO *io, core::Variable *variable) for (auto &blockpair : allblocks) { size_t stepAbsolute = blockpair.first; - std::vector::Info> &blocks = + std::vector::BPInfo> &blocks = blockpair.second; const size_t blocksSize = blocks.size(); fprintf(outf, "%c step %*zu: ", commentchar, ndigits_nsteps, @@ -3246,7 +3246,7 @@ void print_decomp_singlestep(core::Engine *fp, core::IO *io, { /* Print block info */ DataType adiosvartype = variable->m_Type; - std::vector::Info> blocks = + std::vector::BPInfo> blocks = fp->BlocksInfo(*variable, fp->CurrentStep()); if (blocks.empty()) From a496130b253919b3439dad1b2d71289ccbc71bc4 Mon Sep 17 00:00:00 2001 From: Greg Eisenhauer Date: Wed, 20 Jan 2021 20:14:01 -0500 Subject: [PATCH 2/6] MinInfo --- bindings/CXX11/adios2/cxx11/Engine.tcc | 60 +++++++ source/adios2/core/Engine.h | 45 ++++++ source/adios2/core/Variable.h | 2 + source/adios2/engine/sst/SstReader.cpp | 175 ++++++++++++++++----- source/adios2/engine/sst/SstReader.h | 2 + source/adios2/toolkit/sst/cp/ffs_marshal.c | 10 +- source/adios2/toolkit/sst/cp/ffs_marshal.h | 1 + source/adios2/toolkit/sst/sst.h | 2 +- 8 files changed, 258 insertions(+), 39 deletions(-) diff --git a/bindings/CXX11/adios2/cxx11/Engine.tcc b/bindings/CXX11/adios2/cxx11/Engine.tcc index fb68a13a6a..1c6f07ac78 100644 --- a/bindings/CXX11/adios2/cxx11/Engine.tcc +++ b/bindings/CXX11/adios2/cxx11/Engine.tcc @@ -59,6 +59,58 @@ ToBlocksInfo(const std::vector +static std::vector::Info> +ToBlocksInfo(const core::Engine::MinVarInfo *coreVarInfo) +{ + using IOType = typename TypeInfo::IOType; + + auto coreBlocksInfo = coreVarInfo->BlocksInfo; + + std::vector::Info> blocksInfo; + blocksInfo.reserve(coreBlocksInfo.size()); + + for (auto &coreBlockInfo : coreBlocksInfo) + { + typename Variable::Info blockInfo; + + if (coreVarInfo->Shape) + { + blockInfo.Start.reserve(coreVarInfo->Dims); + blockInfo.Count.reserve(coreVarInfo->Dims); + for (int i = 0; i < coreVarInfo->Dims; i++) + { + blockInfo.Start.push_back(coreBlockInfo.Start[i]); + blockInfo.Count.push_back(coreBlockInfo.Count[i]); + } + } + else + { + blockInfo.Count.reserve(coreVarInfo->Dims); + for (int i = 0; i < coreVarInfo->Dims; i++) + { + blockInfo.Count.push_back(coreBlockInfo.Count[i]); + } + } + blockInfo.WriterID = coreBlockInfo.WriterID; + + blockInfo.IsValue = coreVarInfo->IsValue; + blockInfo.IsReverseDims = coreVarInfo->IsReverseDims; + if (blockInfo.IsValue) + { + blockInfo.Value = *((T *)coreBlockInfo.BufferP); + } + else + { + blockInfo.Min = *((T *)&coreBlockInfo.MinUnion); + blockInfo.Max = *((T *)&coreBlockInfo.MaxUnion); + } + blockInfo.BlockID = coreBlockInfo.BlockID; + blocksInfo.push_back(blockInfo); + } + + return blocksInfo; +} } // end empty namespace template @@ -333,6 +385,14 @@ Engine::BlocksInfo(const Variable variable, const size_t step) const adios2::helper::CheckForNullptr( variable.m_Variable, "for variable in call to Engine::BlocksInfo"); + const auto minBlocksInfo = + m_Engine->MinBlocksInfo(*variable.m_Variable, step); + + if (minBlocksInfo) + { + return ToBlocksInfo(minBlocksInfo); + } + const auto blocksInfo = m_Engine->BlocksInfo(*variable.m_Variable, step); return ToBlocksInfo(blocksInfo); diff --git a/source/adios2/core/Engine.h b/source/adios2/core/Engine.h index 76aec1c3bb..b92a2a735e 100644 --- a/source/adios2/core/Engine.h +++ b/source/adios2/core/Engine.h @@ -450,6 +450,51 @@ class Engine /* for adios2 internal testing */ virtual size_t DebugGetDataBufferSize() const; + union PrimitiveStdtypeUnion + { + int8_t int8; + int16_t int16; + int32_t int32; + int64_t int64; + uint8_t uint8; + uint16_t uint16; + uint32_t uint32; + uint64_t uint64; + float f; + double d; + long double ld; + }; + + struct MinBlockInfo + { + int WriterID = 0; + size_t BlockID = 0; + size_t *Start; + size_t *Count; + union PrimitiveStdtypeUnion MinUnion; + union PrimitiveStdtypeUnion MaxUnion; + void *BufferP = NULL; + }; + struct MinVarInfo + { + int Dims; + size_t *Shape; + bool IsValue = false; + bool IsReverseDims = false; + std::vector BlocksInfo; + MinVarInfo(int D, size_t *S) + : Dims(D), Shape(S), IsValue(false), IsReverseDims(false), + BlocksInfo({}) + { + } + }; + + virtual MinVarInfo *MinBlocksInfo(const VariableBase &, + const size_t Step) const + { + return nullptr; + } + protected: /** from ADIOS class passed to Engine created with Open * if no communicator is passed */ diff --git a/source/adios2/core/Variable.h b/source/adios2/core/Variable.h index 25ebe3f87b..832d669eb7 100644 --- a/source/adios2/core/Variable.h +++ b/source/adios2/core/Variable.h @@ -159,6 +159,8 @@ class Variable : public VariableBase DoAllStepsBlocksInfo() const; void CheckRandomAccess(const size_t step, const std::string hint) const; + + size_t WriterIndex; }; } // end namespace core diff --git a/source/adios2/engine/sst/SstReader.cpp b/source/adios2/engine/sst/SstReader.cpp index 1aa964324b..7ec61f8778 100644 --- a/source/adios2/engine/sst/SstReader.cpp +++ b/source/adios2/engine/sst/SstReader.cpp @@ -120,42 +120,42 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, return; }; - auto arrayFFSCallback = [](void *reader, const char *variableName, - const int type, int DimCount, size_t *Shape, - size_t *Start, size_t *Count) { - std::vector VecShape; - std::vector VecStart; - std::vector VecCount; - adios2::DataType Type = (adios2::DataType)type; - class SstReader::SstReader *Reader = - reinterpret_cast(reader); - /* - * setup shape of array variable as global (I.E. Count == Shape, - * Start == 0) - */ - if (Shape) - { - for (int i = 0; i < DimCount; i++) + auto arrayFFSCallback = + [](void *reader, const char *variableName, const int type, int DimCount, + size_t *Shape, size_t *Start, size_t *Count, void **MinVarInfoP) { + std::vector VecShape; + std::vector VecStart; + std::vector VecCount; + adios2::DataType Type = (adios2::DataType)type; + class SstReader::SstReader *Reader = + reinterpret_cast(reader); + /* + * setup shape of array variable as global (I.E. Count == Shape, + * Start == 0) + */ + if (Shape) { - VecShape.push_back(Shape[i]); - VecStart.push_back(0); - VecCount.push_back(Shape[i]); + for (int i = 0; i < DimCount; i++) + { + VecShape.push_back(Shape[i]); + VecStart.push_back(0); + VecCount.push_back(Shape[i]); + } } - } - else - { - VecShape = {}; - VecStart = {}; - for (int i = 0; i < DimCount; i++) + else { - VecCount.push_back(Count[i]); + VecShape = {}; + VecStart = {}; + for (int i = 0; i < DimCount; i++) + { + VecCount.push_back(Count[i]); + } } - } - if (Type == adios2::DataType::Compound) - { - return (void *)NULL; - } + if (Type == adios2::DataType::Compound) + { + return (void *)NULL; + } #define declare_type(T) \ else if (Type == helper::GetDataType()) \ { \ @@ -164,10 +164,10 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, variable->m_AvailableStepsCount = 1; \ return (void *)variable; \ } - ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) + ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #undef declare_type - return (void *)NULL; - }; + return (void *)NULL; + }; auto arrayBlocksInfoCallback = [](void *reader, void *variable, const int type, int WriterRank, @@ -179,6 +179,7 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, class SstReader::SstReader *Reader = reinterpret_cast(reader); size_t currentStep = SstCurrentStep(Reader->m_Input); + struct MinBlockInfo BI; /* * setup shape of array variable as global (I.E. Count == Shape, * Start == 0) @@ -226,8 +227,99 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, return; }; - SstReaderInitFFSCallback(m_Input, this, varFFSCallback, arrayFFSCallback, - attrFFSCallback, arrayBlocksInfoCallback); + auto arrayMinFFSCallback = + [](void *reader, const char *variableName, const int type, int DimCount, + size_t *Shape, size_t *Start, size_t *Count, void **MinVarInfoP) { + std::vector VecShape; + std::vector VecStart; + std::vector VecCount; + adios2::DataType Type = (adios2::DataType)type; + class SstReader::SstReader *Reader = + reinterpret_cast(reader); + struct MinVarInfo *MV = new MinVarInfo(DimCount, Shape); + /* + * setup shape of array variable as global (I.E. Count == Shape, + * Start == 0) + */ + if (Shape) + { + for (int i = 0; i < DimCount; i++) + { + VecShape.push_back(Shape[i]); + VecStart.push_back(0); + VecCount.push_back(Shape[i]); + } + } + else + { + VecShape = {}; + VecStart = {}; + for (int i = 0; i < DimCount; i++) + { + VecCount.push_back(Count[i]); + } + } + if (Type == adios2::DataType::Compound) + { + return (void *)NULL; + } +#define declare_type(T) \ + else if (Type == helper::GetDataType()) \ + { \ + Variable *variable = &(Reader->m_IO.DefineVariable( \ + variableName, VecShape, VecStart, VecCount)); \ + variable->m_AvailableStepsCount = 1; \ + Reader->m_InfoMap.emplace(variable, MV); \ + *MinVarInfoP = (void *)MV; \ + return (void *)variable; \ + } + ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) +#undef declare_type + return (void *)NULL; + }; + + auto arrayMinBlocksInfoCallback = + [](void *reader, void *MV, const int type, int WriterRank, int DimCount, + size_t *Shape, size_t *Start, size_t *Count) { + std::vector VecShape; + std::vector VecStart; + std::vector VecCount; + adios2::DataType Type = (adios2::DataType)type; + struct MinBlockInfo MBI; + class SstReader::SstReader *Reader = + reinterpret_cast(reader); + size_t currentStep = SstCurrentStep(Reader->m_Input); + struct MinVarInfo *MinVar = (struct MinVarInfo *)MV; + + MBI.WriterID = WriterRank; + MBI.BlockID = 0; + MBI.Start = Start; + MBI.Count = Count; + + MinVar->BlocksInfo.push_back(MBI); + return; + }; + + static int UseMin = -1; + if (UseMin == -1) + { + if (getenv("MinBlocksInfo") == NULL) + { + UseMin = 0; + } + else + { + UseMin = 1; + } + } + if (UseMin) + SstReaderInitFFSCallback(m_Input, this, varFFSCallback, + arrayMinFFSCallback, attrFFSCallback, + arrayMinBlocksInfoCallback); + else + SstReaderInitFFSCallback(m_Input, this, varFFSCallback, + arrayFFSCallback, attrFFSCallback, + arrayBlocksInfoCallback); delete[] cstr; } @@ -397,6 +489,7 @@ void SstReader::EndStep() // unknown marshaling method, shouldn't happen } SstReleaseStep(m_Input); + m_InfoMap.clear(); } void SstReader::Flush(const int transportIndex) {} @@ -603,6 +696,16 @@ void SstReader::PerformGets() void SstReader::DoClose(const int transportIndex) { SstReaderClose(m_Input); } +Engine::MinVarInfo *SstReader::MinBlocksInfo(const VariableBase &Var, + const size_t Step) const +{ + auto it = m_InfoMap.find(&Var); + if (it == m_InfoMap.end()) + return nullptr; + else + return it->second; +} + #define declare_type(T) \ std::map::BPInfo>> \ SstReader::DoAllStepsBlocksInfo(const Variable &variable) const \ diff --git a/source/adios2/engine/sst/SstReader.h b/source/adios2/engine/sst/SstReader.h index 3931c6b963..d4dabc88d3 100644 --- a/source/adios2/engine/sst/SstReader.h +++ b/source/adios2/engine/sst/SstReader.h @@ -49,6 +49,7 @@ class SstReader : public Engine void EndStep(); void PerformGets(); void Flush(const int transportIndex = -1) final; + MinVarInfo *MinBlocksInfo(const VariableBase &, const size_t Step) const; private: template @@ -76,6 +77,7 @@ class SstReader : public Engine struct _SstParams Params; + std::unordered_map m_InfoMap; #define declare_type(T) \ void DoGetSync(Variable &, T *) final; \ void DoGetDeferred(Variable &, T *) final; \ diff --git a/source/adios2/toolkit/sst/cp/ffs_marshal.c b/source/adios2/toolkit/sst/cp/ffs_marshal.c index 56d2bd8477..9f2a212d1f 100644 --- a/source/adios2/toolkit/sst/cp/ffs_marshal.c +++ b/source/adios2/toolkit/sst/cp/ffs_marshal.c @@ -1988,10 +1988,11 @@ static void BuildVarList(SstStream Stream, TSMetadataMsg MetaData, } if (!VarRec->Variable) { + VarRec->MinVarInfo = NULL; VarRec->Variable = Stream->ArraySetupUpcall( Stream->SetupUpcallReader, VarRec->VarName, VarRec->Type, meta_base->Dims, meta_base->Shape, meta_base->Offsets, - meta_base->Count); + meta_base->Count, &VarRec->MinVarInfo); } VarRec->DimCount = meta_base->Dims; VarRec->PerWriterBlockCount[WriterRank] = @@ -2013,8 +2014,13 @@ static void BuildVarList(SstStream Stream, TSMetadataMsg MetaData, size_t *Offsets = NULL; if (meta_base->Offsets) Offsets = meta_base->Offsets + (i * meta_base->Dims); + void *Variable = VarRec->Variable; + if (VarRec->MinVarInfo) + { + Variable = VarRec->MinVarInfo; + } Stream->ArrayBlocksInfoUpcall( - Stream->SetupUpcallReader, VarRec->Variable, VarRec->Type, + Stream->SetupUpcallReader, Variable, VarRec->Type, WriterRank, meta_base->Dims, meta_base->Shape, Offsets, meta_base->Count); } diff --git a/source/adios2/toolkit/sst/cp/ffs_marshal.h b/source/adios2/toolkit/sst/cp/ffs_marshal.h index 9969480d46..317f640fb4 100644 --- a/source/adios2/toolkit/sst/cp/ffs_marshal.h +++ b/source/adios2/toolkit/sst/cp/ffs_marshal.h @@ -56,6 +56,7 @@ typedef struct FFSVarRec size_t DimCount; int Type; int ElementSize; + void *MinVarInfo; size_t *GlobalDims; size_t *PerWriterBlockStart; size_t *PerWriterBlockCount; diff --git a/source/adios2/toolkit/sst/sst.h b/source/adios2/toolkit/sst/sst.h index 6f4fb64562..e8e40081d5 100644 --- a/source/adios2/toolkit/sst/sst.h +++ b/source/adios2/toolkit/sst/sst.h @@ -123,7 +123,7 @@ typedef void (*AttrSetupUpcallFunc)(void *Reader, const char *Name, typedef void *(*ArraySetupUpcallFunc)(void *Reader, const char *Name, const int Type, int DimsCount, size_t *Shape, size_t *Start, - size_t *Count); + size_t *Count, void **MinVarInfoP); typedef void (*ArrayBlocksInfoUpcallFunc)(void *Reader, void *Variable, const int Type, int WriterRank, int DimsCount, size_t *Shape, From 02637f3a227a3af82022df05a254531624fd704b Mon Sep 17 00:00:00 2001 From: Greg Eisenhauer Date: Wed, 20 Jan 2021 21:30:54 -0500 Subject: [PATCH 3/6] Kill unref --- source/adios2/engine/sst/SstReader.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/source/adios2/engine/sst/SstReader.cpp b/source/adios2/engine/sst/SstReader.cpp index 7ec61f8778..c1ded950e3 100644 --- a/source/adios2/engine/sst/SstReader.cpp +++ b/source/adios2/engine/sst/SstReader.cpp @@ -284,7 +284,6 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, std::vector VecShape; std::vector VecStart; std::vector VecCount; - adios2::DataType Type = (adios2::DataType)type; struct MinBlockInfo MBI; class SstReader::SstReader *Reader = reinterpret_cast(reader); From ad0a757845b3b28915324a7e0a56a8c386a480fc Mon Sep 17 00:00:00 2001 From: Greg Eisenhauer Date: Thu, 21 Jan 2021 12:02:25 -0500 Subject: [PATCH 4/6] Manage memory, default to MinBlocks --- source/adios2/engine/sst/SstReader.cpp | 10 +++++----- source/adios2/engine/sst/SstReader.h | 3 ++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/source/adios2/engine/sst/SstReader.cpp b/source/adios2/engine/sst/SstReader.cpp index c1ded950e3..d60ecdca0b 100644 --- a/source/adios2/engine/sst/SstReader.cpp +++ b/source/adios2/engine/sst/SstReader.cpp @@ -236,7 +236,7 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, adios2::DataType Type = (adios2::DataType)type; class SstReader::SstReader *Reader = reinterpret_cast(reader); - struct MinVarInfo *MV = new MinVarInfo(DimCount, Shape); + std::unique_ptr MV(new MinVarInfo(DimCount, Shape)); /* * setup shape of array variable as global (I.E. Count == Shape, * Start == 0) @@ -269,8 +269,8 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, Variable *variable = &(Reader->m_IO.DefineVariable( \ variableName, VecShape, VecStart, VecCount)); \ variable->m_AvailableStepsCount = 1; \ - Reader->m_InfoMap.emplace(variable, MV); \ - *MinVarInfoP = (void *)MV; \ + Reader->m_InfoMap[variable] = std::move(MV); \ + *MinVarInfoP = (void *)&(*(Reader->m_InfoMap[variable])); \ return (void *)variable; \ } ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) @@ -302,7 +302,7 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, static int UseMin = -1; if (UseMin == -1) { - if (getenv("MinBlocksInfo") == NULL) + if (getenv("OldBlocksInfo") == NULL) { UseMin = 0; } @@ -702,7 +702,7 @@ Engine::MinVarInfo *SstReader::MinBlocksInfo(const VariableBase &Var, if (it == m_InfoMap.end()) return nullptr; else - return it->second; + return &(*it->second); } #define declare_type(T) \ diff --git a/source/adios2/engine/sst/SstReader.h b/source/adios2/engine/sst/SstReader.h index d4dabc88d3..e7da2e08f9 100644 --- a/source/adios2/engine/sst/SstReader.h +++ b/source/adios2/engine/sst/SstReader.h @@ -77,7 +77,8 @@ class SstReader : public Engine struct _SstParams Params; - std::unordered_map m_InfoMap; + std::unordered_map> + m_InfoMap; #define declare_type(T) \ void DoGetSync(Variable &, T *) final; \ void DoGetDeferred(Variable &, T *) final; \ From dee358512a829ddde1a31d9c2587240c9bd15549 Mon Sep 17 00:00:00 2001 From: Greg Eisenhauer Date: Tue, 26 Jan 2021 01:42:49 -0500 Subject: [PATCH 5/6] blocks info on demand for SST/FFS-CP --- source/adios2/engine/sst/SstReader.cpp | 140 +++++++-------------- source/adios2/toolkit/sst/cp/cp_internal.h | 1 + source/adios2/toolkit/sst/cp/ffs_marshal.c | 83 +++++++++--- source/adios2/toolkit/sst/cp/ffs_marshal.h | 1 - source/adios2/toolkit/sst/sst.h | 17 ++- 5 files changed, 129 insertions(+), 113 deletions(-) diff --git a/source/adios2/engine/sst/SstReader.cpp b/source/adios2/engine/sst/SstReader.cpp index d60ecdca0b..76cd358a40 100644 --- a/source/adios2/engine/sst/SstReader.cpp +++ b/source/adios2/engine/sst/SstReader.cpp @@ -120,42 +120,42 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, return; }; - auto arrayFFSCallback = - [](void *reader, const char *variableName, const int type, int DimCount, - size_t *Shape, size_t *Start, size_t *Count, void **MinVarInfoP) { - std::vector VecShape; - std::vector VecStart; - std::vector VecCount; - adios2::DataType Type = (adios2::DataType)type; - class SstReader::SstReader *Reader = - reinterpret_cast(reader); - /* - * setup shape of array variable as global (I.E. Count == Shape, - * Start == 0) - */ - if (Shape) + auto arrayFFSCallback = [](void *reader, const char *variableName, + const int type, int DimCount, size_t *Shape, + size_t *Start, size_t *Count) { + std::vector VecShape; + std::vector VecStart; + std::vector VecCount; + adios2::DataType Type = (adios2::DataType)type; + class SstReader::SstReader *Reader = + reinterpret_cast(reader); + /* + * setup shape of array variable as global (I.E. Count == Shape, + * Start == 0) + */ + if (Shape) + { + for (int i = 0; i < DimCount; i++) { - for (int i = 0; i < DimCount; i++) - { - VecShape.push_back(Shape[i]); - VecStart.push_back(0); - VecCount.push_back(Shape[i]); - } + VecShape.push_back(Shape[i]); + VecStart.push_back(0); + VecCount.push_back(Shape[i]); } - else + } + else + { + VecShape = {}; + VecStart = {}; + for (int i = 0; i < DimCount; i++) { - VecShape = {}; - VecStart = {}; - for (int i = 0; i < DimCount; i++) - { - VecCount.push_back(Count[i]); - } + VecCount.push_back(Count[i]); } + } - if (Type == adios2::DataType::Compound) - { - return (void *)NULL; - } + if (Type == adios2::DataType::Compound) + { + return (void *)NULL; + } #define declare_type(T) \ else if (Type == helper::GetDataType()) \ { \ @@ -164,10 +164,10 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, variable->m_AvailableStepsCount = 1; \ return (void *)variable; \ } - ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) + ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) #undef declare_type - return (void *)NULL; - }; + return (void *)NULL; + }; auto arrayBlocksInfoCallback = [](void *reader, void *variable, const int type, int WriterRank, @@ -227,57 +227,10 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, return; }; - auto arrayMinFFSCallback = - [](void *reader, const char *variableName, const int type, int DimCount, - size_t *Shape, size_t *Start, size_t *Count, void **MinVarInfoP) { - std::vector VecShape; - std::vector VecStart; - std::vector VecCount; - adios2::DataType Type = (adios2::DataType)type; - class SstReader::SstReader *Reader = - reinterpret_cast(reader); - std::unique_ptr MV(new MinVarInfo(DimCount, Shape)); - /* - * setup shape of array variable as global (I.E. Count == Shape, - * Start == 0) - */ - if (Shape) - { - for (int i = 0; i < DimCount; i++) - { - VecShape.push_back(Shape[i]); - VecStart.push_back(0); - VecCount.push_back(Shape[i]); - } - } - else - { - VecShape = {}; - VecStart = {}; - for (int i = 0; i < DimCount; i++) - { - VecCount.push_back(Count[i]); - } - } - if (Type == adios2::DataType::Compound) - { - return (void *)NULL; - } -#define declare_type(T) \ - else if (Type == helper::GetDataType()) \ - { \ - Variable *variable = &(Reader->m_IO.DefineVariable( \ - variableName, VecShape, VecStart, VecCount)); \ - variable->m_AvailableStepsCount = 1; \ - Reader->m_InfoMap[variable] = std::move(MV); \ - *MinVarInfoP = (void *)&(*(Reader->m_InfoMap[variable])); \ - return (void *)variable; \ - } - ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) -#undef declare_type - return (void *)NULL; - }; - + auto MinArraySetupUpcall = [](void *reader, int DimCount, size_t *Shape) { + MinVarInfo *MV = new MinVarInfo(DimCount, Shape); + return (void *)MV; + }; auto arrayMinBlocksInfoCallback = [](void *reader, void *MV, const int type, int WriterRank, int DimCount, size_t *Shape, size_t *Start, size_t *Count) { @@ -299,7 +252,7 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, return; }; - static int UseMin = -1; + static int UseMin = 1; if (UseMin == -1) { if (getenv("OldBlocksInfo") == NULL) @@ -313,11 +266,11 @@ SstReader::SstReader(IO &io, const std::string &name, const Mode mode, } if (UseMin) SstReaderInitFFSCallback(m_Input, this, varFFSCallback, - arrayMinFFSCallback, attrFFSCallback, - arrayMinBlocksInfoCallback); + arrayFFSCallback, MinArraySetupUpcall, + attrFFSCallback, arrayMinBlocksInfoCallback); else SstReaderInitFFSCallback(m_Input, this, varFFSCallback, - arrayFFSCallback, attrFFSCallback, + arrayFFSCallback, NULL, attrFFSCallback, arrayBlocksInfoCallback); delete[] cstr; @@ -698,11 +651,14 @@ void SstReader::DoClose(const int transportIndex) { SstReaderClose(m_Input); } Engine::MinVarInfo *SstReader::MinBlocksInfo(const VariableBase &Var, const size_t Step) const { - auto it = m_InfoMap.find(&Var); - if (it == m_InfoMap.end()) + if (m_WriterMarshalMethod == SstMarshalBP) + { return nullptr; + } else - return &(*it->second); + { + return (Engine::MinVarInfo *)SstFFSGetBlocksInfo(m_Input, (void *)&Var); + } } #define declare_type(T) \ diff --git a/source/adios2/toolkit/sst/cp/cp_internal.h b/source/adios2/toolkit/sst/cp/cp_internal.h index d8d2e9d9ab..5d4df7a46b 100644 --- a/source/adios2/toolkit/sst/cp/cp_internal.h +++ b/source/adios2/toolkit/sst/cp/cp_internal.h @@ -221,6 +221,7 @@ struct _SstStream FFSContext ReaderFFSContext; VarSetupUpcallFunc VarSetupUpcall; ArraySetupUpcallFunc ArraySetupUpcall; + MinArraySetupUpcallFunc MinArraySetupUpcall; AttrSetupUpcallFunc AttrSetupUpcall; ArrayBlocksInfoUpcallFunc ArrayBlocksInfoUpcall; void *SetupUpcallReader; diff --git a/source/adios2/toolkit/sst/cp/ffs_marshal.c b/source/adios2/toolkit/sst/cp/ffs_marshal.c index 9f2a212d1f..2f3af8c7e5 100644 --- a/source/adios2/toolkit/sst/cp/ffs_marshal.c +++ b/source/adios2/toolkit/sst/cp/ffs_marshal.c @@ -695,11 +695,14 @@ extern int SstFFSWriterBeginStep(SstStream Stream, int mode, */ void NO_SANITIZE_THREAD SstReaderInitFFSCallback( SstStream Stream, void *Reader, VarSetupUpcallFunc VarCallback, - ArraySetupUpcallFunc ArrayCallback, AttrSetupUpcallFunc AttrCallback, + ArraySetupUpcallFunc ArrayCallback, + MinArraySetupUpcallFunc MinArrayCallback, AttrSetupUpcallFunc AttrCallback, ArrayBlocksInfoUpcallFunc BlocksInfoCallback) { Stream->VarSetupUpcall = VarCallback; Stream->ArraySetupUpcall = ArrayCallback; + printf("Minarraycallback is %p\n", MinArrayCallback); + Stream->MinArraySetupUpcall = MinArrayCallback; Stream->AttrSetupUpcall = AttrCallback; Stream->ArrayBlocksInfoUpcall = BlocksInfoCallback; Stream->SetupUpcallReader = Reader; @@ -744,6 +747,44 @@ extern int SstFFSGetDeferred(SstStream Stream, void *Variable, const char *Name, } } +extern void *SstFFSGetBlocksInfo(SstStream Stream, void *Variable) +{ + struct FFSReaderMarshalBase *Info = Stream->ReaderMarshalData; + int GetFromWriter = 0; + FFSVarRec VarRec = LookupVarByKey(Stream, Variable); + MetaArrayRec *meta_base = + (MetaArrayRec *)(((char *)Info->MetadataBaseAddrs[0]) + + VarRec->PerWriterMetaFieldOffset[0]); + if (!Stream->MinArraySetupUpcall) + return NULL; + + void *Ret = Stream->MinArraySetupUpcall(Stream->SetupUpcallReader, + meta_base->Dims, meta_base->Shape); + for (int WriterRank = 0; WriterRank < Stream->WriterCohortSize; + WriterRank++) + { + meta_base = + (MetaArrayRec *)(((char *)Info->MetadataBaseAddrs[WriterRank]) + + VarRec->PerWriterMetaFieldOffset[WriterRank]); + int ElementSize = VarRec->ElementSize; + int DimCount = VarRec->DimCount; + int Type = VarRec->Type; + void *IncomingData = VarRec->PerWriterIncomingData[WriterRank]; + int FreeIncoming = 0; + + for (int i = 0; i < VarRec->PerWriterBlockCount[WriterRank]; i++) + { + size_t *Offsets = NULL; + if (meta_base->Offsets) + Offsets = meta_base->Offsets + (i * meta_base->Dims); + Stream->ArrayBlocksInfoUpcall( + Stream->SetupUpcallReader, Ret, VarRec->Type, WriterRank, + meta_base->Dims, meta_base->Shape, Offsets, meta_base->Count); + } + } + return Ret; +} + extern int SstFFSGetLocalDeferred(SstStream Stream, void *Variable, const char *Name, size_t DimCount, const int BlockID, const size_t *Count, @@ -1988,11 +2029,10 @@ static void BuildVarList(SstStream Stream, TSMetadataMsg MetaData, } if (!VarRec->Variable) { - VarRec->MinVarInfo = NULL; VarRec->Variable = Stream->ArraySetupUpcall( Stream->SetupUpcallReader, VarRec->VarName, VarRec->Type, meta_base->Dims, meta_base->Shape, meta_base->Offsets, - meta_base->Count, &VarRec->MinVarInfo); + meta_base->Count); } VarRec->DimCount = meta_base->Dims; VarRec->PerWriterBlockCount[WriterRank] = @@ -2009,20 +2049,32 @@ static void BuildVarList(SstStream Stream, TSMetadataMsg MetaData, VarRec->PerWriterBlockStart[WriterRank] + VarRec->PerWriterBlockCount[WriterRank]; } - for (int i = 0; i < VarRec->PerWriterBlockCount[WriterRank]; i++) + static int UseMin = 1; + if (UseMin == -1) { - size_t *Offsets = NULL; - if (meta_base->Offsets) - Offsets = meta_base->Offsets + (i * meta_base->Dims); - void *Variable = VarRec->Variable; - if (VarRec->MinVarInfo) + if (getenv("OldBlocksInfo") == NULL) { - Variable = VarRec->MinVarInfo; + UseMin = 0; + } + else + { + UseMin = 1; + } + } + if (!UseMin) + { + for (int i = 0; i < VarRec->PerWriterBlockCount[WriterRank]; + i++) + { + size_t *Offsets = NULL; + if (meta_base->Offsets) + Offsets = meta_base->Offsets + (i * meta_base->Dims); + void *Variable = VarRec->Variable; + Stream->ArrayBlocksInfoUpcall( + Stream->SetupUpcallReader, Variable, VarRec->Type, + WriterRank, meta_base->Dims, meta_base->Shape, Offsets, + meta_base->Count); } - Stream->ArrayBlocksInfoUpcall( - Stream->SetupUpcallReader, Variable, VarRec->Type, - WriterRank, meta_base->Dims, meta_base->Shape, Offsets, - meta_base->Count); } } else @@ -2033,8 +2085,8 @@ static void BuildVarList(SstStream Stream, TSMetadataMsg MetaData, Stream->SetupUpcallReader, VarRec->VarName, VarRec->Type, field_data); } - VarRec->PerWriterMetaFieldOffset[WriterRank] = FieldOffset; } + VarRec->PerWriterMetaFieldOffset[WriterRank] = FieldOffset; } } @@ -2106,6 +2158,7 @@ extern void SstFFSSetZFPParams(SstStream Stream, attr_list Attrs) } } +/* GetDeferred calls return true if need later sync */ extern void SstFFSMarshal(SstStream Stream, void *Variable, const char *Name, const int Type, size_t ElemSize, size_t DimCount, const size_t *Shape, const size_t *Count, diff --git a/source/adios2/toolkit/sst/cp/ffs_marshal.h b/source/adios2/toolkit/sst/cp/ffs_marshal.h index 317f640fb4..9969480d46 100644 --- a/source/adios2/toolkit/sst/cp/ffs_marshal.h +++ b/source/adios2/toolkit/sst/cp/ffs_marshal.h @@ -56,7 +56,6 @@ typedef struct FFSVarRec size_t DimCount; int Type; int ElementSize; - void *MinVarInfo; size_t *GlobalDims; size_t *PerWriterBlockStart; size_t *PerWriterBlockCount; diff --git a/source/adios2/toolkit/sst/sst.h b/source/adios2/toolkit/sst/sst.h index e8e40081d5..b42df0e1c9 100644 --- a/source/adios2/toolkit/sst/sst.h +++ b/source/adios2/toolkit/sst/sst.h @@ -123,15 +123,20 @@ typedef void (*AttrSetupUpcallFunc)(void *Reader, const char *Name, typedef void *(*ArraySetupUpcallFunc)(void *Reader, const char *Name, const int Type, int DimsCount, size_t *Shape, size_t *Start, - size_t *Count, void **MinVarInfoP); + size_t *Count); +typedef void *(*MinArraySetupUpcallFunc)(void *Reader, int DimsCount, + size_t *Shape); typedef void (*ArrayBlocksInfoUpcallFunc)(void *Reader, void *Variable, const int Type, int WriterRank, int DimsCount, size_t *Shape, size_t *Start, size_t *Count); -extern void SstReaderInitFFSCallback( - SstStream stream, void *Reader, VarSetupUpcallFunc VarCallback, - ArraySetupUpcallFunc ArrayCallback, AttrSetupUpcallFunc AttrCallback, - ArrayBlocksInfoUpcallFunc BlocksInfoCallback); +extern void +SstReaderInitFFSCallback(SstStream stream, void *Reader, + VarSetupUpcallFunc VarCallback, + ArraySetupUpcallFunc ArrayCallback, + MinArraySetupUpcallFunc MinArraySetupUpcall, + AttrSetupUpcallFunc AttrCallback, + ArrayBlocksInfoUpcallFunc BlocksInfoCallback); /* * Calls that support SST-external writer-side aggregation of metadata @@ -163,6 +168,8 @@ extern int SstFFSGetLocalDeferred(SstStream Stream, void *Variable, const char *Name, size_t DimCount, const int BlockID, const size_t *Count, void *Data); +/* GetDeferred calls return true if need later sync */ +extern void *SstFFSGetBlocksInfo(SstStream Stream, void *Variable); extern SstStatusValue SstFFSPerformGets(SstStream Stream); From a88495d80a6ed67326aa27776a1dbe8a26aa158f Mon Sep 17 00:00:00 2001 From: Greg Eisenhauer Date: Tue, 26 Jan 2021 08:09:46 -0500 Subject: [PATCH 6/6] Delete generated core blocksinfo --- bindings/CXX11/adios2/cxx11/Engine.tcc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/bindings/CXX11/adios2/cxx11/Engine.tcc b/bindings/CXX11/adios2/cxx11/Engine.tcc index 1c6f07ac78..79b1108fbf 100644 --- a/bindings/CXX11/adios2/cxx11/Engine.tcc +++ b/bindings/CXX11/adios2/cxx11/Engine.tcc @@ -390,7 +390,10 @@ Engine::BlocksInfo(const Variable variable, const size_t step) const if (minBlocksInfo) { - return ToBlocksInfo(minBlocksInfo); + std::vector::Info> Ret = + ToBlocksInfo(minBlocksInfo); + delete minBlocksInfo; + return Ret; } const auto blocksInfo =