diff --git a/recipe/0001-Removed-mixer.patch b/recipe/0001-Removed-mixer.patch deleted file mode 100644 index 7c9b002..0000000 --- a/recipe/0001-Removed-mixer.patch +++ /dev/null @@ -1,900 +0,0 @@ -From e31c905cf2a3954be0275736f15c0b4bc123772c Mon Sep 17 00:00:00 2001 -From: Axel Huebl -Date: Wed, 3 Nov 2021 20:09:52 -0700 -Subject: [PATCH 1/4] Removed mixer - ---- - source/adios2/engine/mixer/HDFMixer.cpp | 146 ------ - source/adios2/engine/mixer/HDFMixer.h | 122 ----- - source/adios2/engine/mixer/HDFMixer.tcc | 53 -- - source/adios2/engine/mixer/HDFMixerWriter.cpp | 451 ------------------ - source/adios2/engine/mixer/HDFMixerWriter.h | 77 --- - 5 files changed, 849 deletions(-) - delete mode 100644 source/adios2/engine/mixer/HDFMixer.cpp - delete mode 100644 source/adios2/engine/mixer/HDFMixer.h - delete mode 100644 source/adios2/engine/mixer/HDFMixer.tcc - delete mode 100644 source/adios2/engine/mixer/HDFMixerWriter.cpp - delete mode 100644 source/adios2/engine/mixer/HDFMixerWriter.h - -diff --git a/source/adios2/engine/mixer/HDFMixer.cpp b/source/adios2/engine/mixer/HDFMixer.cpp -deleted file mode 100644 -index be6128f22..000000000 ---- a/source/adios2/engine/mixer/HDFMixer.cpp -+++ /dev/null -@@ -1,146 +0,0 @@ --/* -- * Distributed under the OSI-approved Apache License, Version 2.0. See -- * accompanying file Copyright.txt for details. -- * -- * HDFMixer.cpp -- * -- * Created on: Dec 19, 2016 -- * Author: Junmin GU -- */ -- --#include "HDFMixer.h" --#include "HDFMixer.tcc" -- --#include "adios2/core/IO.h" --#include "adios2/helper/adiosFunctions.h" //CheckIndexRange --#include "adios2/toolkit/transport/file/FileFStream.h" -- --namespace adios2 --{ --namespace core --{ --namespace engine --{ -- --HDFMixer::HDFMixer(IO &io, const std::string &name, const Mode openMode, -- helper::Comm comm) --: Engine("HDFMixer", io, name, openMode, std::move(comm)), -- m_HDFVDSWriter(m_Comm), m_HDFSerialWriter(helper::Comm()), -- m_TransportsManager(m_Comm) --{ -- m_EndMessage = " in call to IO Open HDFMixer " + m_Name + "\n"; -- Init(); --} -- --HDFMixer::~HDFMixer() = default; -- --void HDFMixer::Init() --{ -- InitParameters(); -- InitTransports(); -- InitBuffer(); --} -- --#define declare_type(T) \ -- void HDFMixer::DoPutSync(Variable &variable, const T *values) \ -- { \ -- DoPutSyncCommon(variable, values); \ -- } \ -- void HDFMixer::DoPutDeferred(Variable &variable, const T *values) \ -- { \ -- DoPutSyncCommon(variable, values); \ -- } --ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) --#undef declare_type -- --StepStatus HDFMixer::BeginStep(StepMode mode, const float timeout_sec) --{ -- return StepStatus::OK; --} -- --void HDFMixer::PerformPuts() {} -- --// void HDFMixer::Advance(const float /*timeout_sec*/) --// void HDFMixer::EndStep(const float /*timeout_sec*/) --void HDFMixer::EndStep() --{ -- m_HDFSerialWriter.Advance(); -- m_HDFVDSWriter.Advance(); --} -- --// PRIVATE FUNCTIONS --void HDFMixer::InitParameters() --{ -- // no need for hdf5 -- // m_HDFSerialWriter.InitParameters(m_IO.m_Parameters); --} -- --void HDFMixer::InitTransports() --{ -- if (m_IO.m_TransportsParameters.empty()) -- { -- Params defaultTransportParameters; -- defaultTransportParameters["transport"] = "File"; -- m_IO.m_TransportsParameters.push_back(defaultTransportParameters); -- } -- --#ifdef NEVER --/* -- // TODO need to add support for aggregators here later -- -- // Names are std::vector -- auto transportsNames = m_TransportsManager.GetFilesBaseNames( -- m_Name, m_IO.m_TransportsParameters); -- auto bpBaseNames = m_HDFSerialWriter.GetBPBaseNames(transportsNames); -- auto bpNames = m_HDFSerialWriter.GetBPNames(transportsNames); -- -- m_TransportsManager.OpenFiles(bpBaseNames, bpNames, m_OpenMode, -- m_IO.m_TransportsParameters, -- m_HDFSerialWriter.m_Profiler.IsActive); --*/ --#else -- -- m_HDFSerialWriter.Init(m_Name, m_Comm.Rank()); -- m_HDFVDSWriter.Init(m_Name); --/* --auto transportsNames = m_TransportsManager.GetFilesBaseNames( -- m_Name, --m_IO.m_TransportsParameters); auto baseNames = --m_HDFSerialWriter.GetBaseNames(transportsNames); -- --auto h5name = m_HDFSerialWriter.GetLocalFileNames(baseNames, m_Name); // e.g. --base=/my/path/xy_1.h5 m_TransportsManager.OpenFiles(baseNames, h5name, --m_OpenMode, m_IO.m_TransportsParameters, m_HDFSerialWriter.m_Profiler.IsActive); --*/ --#endif --} -- --void HDFMixer::InitBuffer() --{ -- /* -- if (m_OpenMode == OpenMode::Append) -- { -- throw std::invalid_argument( -- "ADIOS2: OpenMode Append hasn't been implemented, yet"); -- // TODO: Get last pg timestep and update timestep counter in -- } -- else -- { -- m_HDFSerialWriter.WriteProcessGroupIndex( -- m_IO.m_HostLanguage, -- m_TransportsManager.GetTransportsTypes()); -- } -- */ --} -- --void HDFMixer::WriteProfilingJSONFile() {} -- --void HDFMixer::DoClose(const int transportIndex) --{ -- m_HDFSerialWriter.Close(); -- m_HDFVDSWriter.Close(); --} -- --} // end namespace engine --} // end namespace core --} // end namespace adios2 -diff --git a/source/adios2/engine/mixer/HDFMixer.h b/source/adios2/engine/mixer/HDFMixer.h -deleted file mode 100644 -index de61fe2b4..000000000 ---- a/source/adios2/engine/mixer/HDFMixer.h -+++ /dev/null -@@ -1,122 +0,0 @@ --/* -- * Distributed under the OSI-approved Apache License, Version 2.0. See -- * accompanying file Copyright.txt for details. -- * -- * HDFMixer.h -- * -- * Created on: Aug 16 2017 -- * Author: Junmin GU -- */ -- --#ifndef ADIOS2_ENGINE_H5_HDFMIXER_H_ --#define ADIOS2_ENGINE_H5_HDFMIXER_H_ -- --#include "adios2/common/ADIOSConfig.h" --#include "adios2/core/Engine.h" --//#include "adios2/toolkit/format/bp1/BP1Writer.h" //format::BP1Writer -- --/// \cond EXCLUDE_FROM_DOXYGEN --#include //std::count, std::copy, std::for_each --#include //std::ceil --#include //std::memcpy --/// \endcond -- --#include "HDFMixerWriter.h" --#include "adios2/common/ADIOSConfig.h" --#include "adios2/common/ADIOSMacros.h" --#include "adios2/common/ADIOSTypes.h" --#include "adios2/core/Variable.h" --#include "adios2/helper/adiosComm.h" --#include "adios2/helper/adiosFunctions.h" --//#include "adios2/toolkit/capsule/heap/STLVector.h" --#include "adios2/toolkit/transportman/TransportMan.h" //transport::TransportsMan -- --#include -- --namespace adios2 --{ --namespace core --{ --namespace engine --{ -- --class HDFMixer : public Engine --{ -- --public: -- /** -- * Constructor for file Writer in H5 format -- * @param name unique name given to the engine -- * @param openMode w (supported), r, a from OpenMode in ADIOSTypes.h -- * @param comm multi-process communicator -- */ -- HDFMixer(IO &io, const std::string &name, const Mode openMode, -- helper::Comm comm); -- -- ~HDFMixer(); -- -- // void Advance(const float timeoutSeconds = -- // std::numeric_limits::max()) final; -- StepStatus BeginStep(StepMode mode, const float timeout_sec); -- // void EndStep(const float /*timeout_sec*/); -- void EndStep() final; -- -- void PerformPuts() final; -- -- void CreateName(std::string &pathName, std::string &rootName, -- std::string &fullH5Name, int rank); -- --private: -- /** Single object controlling H5 buffering */ -- // format::H51Writer m_H51Writer; -- HDFSerialWriter m_HDFSerialWriter; -- HDFVDSWriter m_HDFVDSWriter; -- -- /** single object controlling a vector of Transports from IO AddTransport */ -- transportman::TransportMan m_TransportsManager; -- -- /** true: due to buffer overflow, move to transports manager */ -- bool m_DoTransportFlush = false; -- -- void Init() final; -- -- /** Parses parameters from IO SetParameters */ -- void InitParameters() final; -- /** Parses transports and parameters from IO AddTransport */ -- void InitTransports() final; -- -- void InitBuffer(); -- --#define declare_type(T) \ -- void DoPutSync(Variable &variable, const T *values) /*final */; \ -- void DoPutDeferred(Variable &variable, const T *values) /*final */; -- ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) --#undef declare_type -- -- /** -- * Closes a single transport or all transports -- * @param transportIndex, if -1 (default) closes all transports, -- * otherwise it -- * closes a transport in m_Transport[transportIndex]. transportIndex is -- * bounds-checked. -- */ -- void DoClose(const int transportIndex = -1) final; -- -- /** -- * Common function for primitive (including std::complex) writes -- * @param variable -- * @param values -- */ -- template -- void DoPutSyncCommon(Variable &variable, const T *values); -- -- /** Write a profiling.json file from m_H51Writer and m_TransportsManager -- * profilers*/ -- void WriteProfilingJSONFile(); --}; -- --} // end namespace engine --} // end namespace core --} // end namespace adios2 -- --#endif /* ADIOS2_ENGINE_H5_HDFMIXER_H_ */ -diff --git a/source/adios2/engine/mixer/HDFMixer.tcc b/source/adios2/engine/mixer/HDFMixer.tcc -deleted file mode 100644 -index d1acfd002..000000000 ---- a/source/adios2/engine/mixer/HDFMixer.tcc -+++ /dev/null -@@ -1,53 +0,0 @@ --/* -- * Distributed under the OSI-approved Apache License, Version 2.0. See -- * accompanying file Copyright.txt for details. -- * -- * HDFMixer.tcc implementation of template functions with known type -- * -- * Created on: Aug 16 2017 -- * Author: Junmin GU -- */ -- --#include "HDFMixer.h" -- --namespace adios2 --{ --namespace core --{ --namespace engine --{ -- --template --void HDFMixer::DoPutSyncCommon(Variable &variable, const T *values) --{ -- // set values -- variable.SetData(values); -- // m_WrittenVariables.insert(variable.m_Name); -- Variable local(variable.m_Name, {}, {}, variable.m_Count, -- variable.IsConstantDims()); -- -- // m_HDFSerialWriter.m_H5File.Write(variable, values); -- // writes only the m_Count() part -- int nDims = std::max(variable.m_Shape.size(), variable.m_Count.size()); -- if (nDims == 0) -- { -- // this is scalar -- if (m_HDFVDSWriter.m_Rank == 0) -- { -- m_HDFVDSWriter.m_VDSFile.Write(local, values); -- } -- } -- else -- { -- m_HDFSerialWriter.m_H5File.Write(local, values); -- // std::cout<<" ==> "<< variable.m_Name<()); -- m_HDFVDSWriter.AddVar(variable, -- m_HDFSerialWriter.m_H5File.GetHDF5Type()); -- } --} -- --} // end namespace engine --} // end namespace core --} // namespace adios2 -diff --git a/source/adios2/engine/mixer/HDFMixerWriter.cpp b/source/adios2/engine/mixer/HDFMixerWriter.cpp -deleted file mode 100644 -index 8fb4f79b8..000000000 ---- a/source/adios2/engine/mixer/HDFMixerWriter.cpp -+++ /dev/null -@@ -1,451 +0,0 @@ --/* -- * Distributed under the OSI-approved Apache License, Version 2.0. See -- * accompanying file Copyright.txt for details. -- * -- * HDFMixer.h -- * -- * Created on: Aug 16 2017 -- * Author: Junmin GU -- */ -- --#include -- --#include "HDFMixerWriter.h" --#include "adios2/helper/adiosFunctions.h" -- --// --// class HDFSerialWriter --// --namespace adios2 --{ --namespace core --{ --namespace engine --{ -- --HDFVDSWriter::HDFVDSWriter(helper::Comm const &comm) --: m_SubfileComm(comm), m_VDSFile(), m_Rank(-1) --{ -- m_NumSubFiles = m_SubfileComm.Size(); -- m_Rank = m_SubfileComm.Rank(); --} -- --void HDFVDSWriter::Init(const std::string &name) --{ -- if (m_Rank > 0) -- { -- return; -- } -- -- // -- // VDS can only operate on one process. So let rank = 0 handle it -- // -- std::string h5Name = adios2::helper::AddExtension(name, ".h5"); -- m_VDSFile.Init(h5Name, helper::Comm(), true); -- // m_FileName = h5Name; -- m_FileName = name; --} -- --void HDFVDSWriter::GetVarInfo(const VariableBase &var, -- std::vector &dimsf, int nDims, -- std::vector &start, -- std::vector &count, -- std::vector &one) --{ // interop::HDF5Common summaryFile(true); -- // std::vector dimsf, start, one, count; -- // int nDims = std::max(var.m_Shape.size(), var.m_Count.size()); -- -- for (int i = 0; i < nDims; i++) -- { -- if (var.m_Shape.size() > 0) -- { -- dimsf.push_back(var.m_Shape[i]); -- } -- else -- { -- dimsf.push_back(var.m_Count[i]); -- } -- if (var.m_Start.size() > 0) -- { -- start.push_back(var.m_Start[i]); -- } -- else -- { -- start.push_back(0); -- } -- if (var.m_Count.size() > 0) -- { -- count.push_back(var.m_Count[i]); -- } -- else if (var.m_Shape.size() > 0) -- { -- count.push_back(var.m_Shape[i]); -- } -- else -- { -- count.push_back(0); -- } -- one.push_back(1); -- } --} -- --void HDFVDSWriter::AddVar(const VariableBase &var, hid_t h5Type) --{ -- hid_t space; -- /* Create VDS dataspace. */ -- int nDims = std::max(var.m_Shape.size(), var.m_Count.size()); -- -- if (nDims == 0) -- { -- if (m_Rank == 0) -- { -- /* -- std::cout<<" will deal with scalar later?"< dimsf, start, one, count; -- GetVarInfo(var, dimsf, nDims, start, count, one); -- // -- -- m_SubfileComm.Gather(start.data(), nDims, all_starts[0], nDims, 0); -- m_SubfileComm.Gather(count.data(), nDims, all_counts[0], nDims, 0); -- -- herr_t status; -- if (m_Rank == 0) -- { -- m_VDSFile.CheckWriteGroup(); -- /* Set VDS creation property. */ -- hid_t dcpl = H5Pcreate(H5P_DATASET_CREATE); -- // status = H5Pset_fill_value(dcpl, ADIOS2_MPI_SIZE_T, 0); -- -- space = H5Screate_simple(nDims, dimsf.data(), NULL); -- // summaryFile.Init(fileName.c_str(), MPI_COMM_SELF, true); -- -- hsize_t currCount[nDims], currStart[nDims]; -- // std::string subfileVarName="TimeStep0/"+var.m_Name; // need full -- // path? NEED TO GET the RIGHT SUBFILE VAR NAME RELATED to TIMESTEP!! -- std::string subfileVarName; -- interop::HDF5Common::StaticGetAdiosStepString( -- subfileVarName, m_VDSFile.m_CurrentAdiosStep); -- subfileVarName += "/" + var.m_Name; -- -- for (int i = 0; i < m_NumSubFiles; i++) -- { -- for (int j = 0; j < nDims; j++) -- { -- currCount[j] = all_counts[i][j]; -- currStart[j] = all_starts[i][j]; -- // std::cout< 0) -- { -- return; -- } -- -- m_VDSFile.Advance(); --} -- --void HDFVDSWriter::Close(const int transportIndex) --{ -- if (m_Rank > 0) -- { -- return; -- } -- -- m_VDSFile.Close(); --} -- --// --// class HDFSerialWriter --// --HDFSerialWriter::HDFSerialWriter(helper::Comm const &comm) --: m_LocalComm(comm), m_H5File() --{ --} -- --void HDFSerialWriter::Advance(const float timeoutSeconds) --{ -- m_H5File.Advance(); --} --void HDFSerialWriter::Close(const int transportIndex) { m_H5File.Close(); }; -- --void HDFSerialWriter::StaticCreateName(std::string &pathName, -- std::string &rootName, -- std::string &fullH5Name, -- const std::string &input, int rank) --{ -- -- auto lf_GetBaseName = [](const std::string &name) -> std::string { -- const std::string baseName(adios2::helper::AddExtension(name, ".h5") + -- ".dir"); -- return baseName; -- }; -- -- auto lf_GetRootTag = [](const std::string &userTag) -> std::string { -- std::string h5RootName = userTag; -- const auto lastPathSeparator(userTag.find_last_of(PathSeparator)); -- if (lastPathSeparator != std::string::npos) -- { -- h5RootName = userTag.substr(lastPathSeparator); -- } -- return h5RootName; -- }; -- -- pathName = lf_GetBaseName(input); -- rootName = lf_GetRootTag(input); -- -- fullH5Name = -- (pathName + "/" + rootName + "_" + std::to_string(rank) + ".h5"); --} -- --void HDFSerialWriter::Init(const std::string &name, int rank) --{ -- /* -- auto lf_GetBaseName = [](const std::string &name) -> std::string { -- const std::string baseName(AddExtension(name, ".h5") + ".dir"); -- return baseName; -- }; -- -- auto lf_GetRootTag = [] (const std::string &userTag) -> std::string { -- std::string h5RootName = userTag; -- const auto lastPathSeparator(userTag.find_last_of(PathSeparator)); -- if (lastPathSeparator != std::string::npos) -- { -- h5RootName = userTag.substr(lastPathSeparator); -- } -- return h5RootName; -- }; -- -- std::string baseName=lf_GetBaseName(name); -- -- auto rootTag = lf_GetRootTag(name); -- const std::string h5Name(baseName + "/" + -- rootTag+"_"+std::to_string(rank)+".h5"); -- -- */ -- std::string baseName, rootTag, h5Name; -- StaticCreateName(baseName, rootTag, h5Name, name, rank); -- // std::cout<<"rank="< baseNames; -- baseNames.reserve(names.size()); -- -- for (const auto &name : names) -- { -- baseNames.push_back(lf_GetBaseName(name)); -- } -- return baseNames; -- } -- -- -- std::vector -- GetLocalFileNames(const std::vector &baseNames, -- const std::string &userTag) const noexcept -- { -- // e.g. /some/where/xy.h5.dir -- // e.g. xy -- -- auto lf_GetH5Name = [](const std::string &baseName, -- const std::string &userTag, -- const int rank) -> std::string { --#ifdef NEVER -- const std::string h5BaseName = AddExtension(baseName, ".h5"); -- -- std::string h5RootName = h5BaseName; -- const auto lastPathSeparator(h5BaseName.find_last_of(PathSeparator)); -- -- if (lastPathSeparator != std::string::npos) -- { -- h5RootName = h5BaseName.substr(lastPathSeparator); -- } -- const std::string h5Name(h5BaseName + ".dir/" + h5RootName + "." + -- std::to_string(rank)); --#else -- const std::string h5Name(baseName + "/" + --userTag+"_"+std::to_string(rank)+".h5"); #endif return h5Name; -- }; -- -- -- auto lf_GetRootTag = [] (const std::string &userTag) -> std::string { -- std::string h5RootName = userTag; -- const auto lastPathSeparator(userTag.find_last_of(PathSeparator)); -- if (lastPathSeparator != std::string::npos) -- { -- h5RootName = userTag.substr(lastPathSeparator); -- } -- return h5RootName; -- }; -- -- std::vector h5Names; -- h5Names.reserve(baseNames.size()); -- -- auto rootTag = lf_GetRootTag(userTag); -- for (const auto &baseName : baseNames) -- { -- h5Names.push_back(lf_GetH5Name(baseName, rootTag, m_RankMPI)); -- } -- return h5Names; -- -- } -- -- -- enum class ResizeResult -- { -- Failure, //!< FAILURE, caught a std::bad_alloc -- Unchanged, //!< UNCHANGED, no need to resize (sufficient capacity) -- Success, //!< SUCCESS, resize was successful -- Flush //!< FLUSH, need to flush to transports for current variable -- }; -- -- -- template -- ResizeResult ResizeBuffer(const Variable &variable) -- { std::cout<<"ResizeBuffer() Forcing Flush for now."< --&transportsTypes, const std::vector &transportsProfilers) --noexcept -- { -- std::cout<<"GetRankProfilingJSON() returns empty string now "< &transportsTypes) --noexcept -- { -- std::cout<<"WriteProcessGroupIndex() to hdf5"< -- void WriteVariableMetadata(const Variable &variable) noexcept -- { -- std::cout<<"WriteVariableMetadata() to hdf5"< -- void WriteVariablePayload(const Variable &variable) noexcept -- { -- std::cout<<"WriteVariablePayload() to hdf5"<::max()); -- void Close(const int transportIndex = -1); -- -- interop::HDF5Common m_VDSFile; -- int m_Rank; -- --private: -- void GetVarInfo(const VariableBase &var, std::vector &dimsf, -- int nDim, std::vector &start, -- std::vector &count, std::vector &one); -- -- int m_NumSubFiles; -- std::string m_FileName; -- helper::Comm const -- &m_SubfileComm; // only rank 0 in this comm can build VDS; --}; -- --class HDFSerialWriter --{ --public: -- HDFSerialWriter(helper::Comm const &comm); -- void -- Advance(const float timeoutSeconds = std::numeric_limits::max()); -- void Close(const int transportIndex = -1); -- void Init(const std::string &name, int rank); -- -- static void StaticCreateName(std::string &pathName, std::string &rootName, -- std::string &fullH5Name, -- const std::string &input, int rank); -- /** contains data buffer and position */ -- // capsule::STLVector m_HeapBuffer; -- -- // int m_Rank; -- interop::HDF5Common m_H5File; -- std::string m_FileName; -- --private: -- helper::Comm const -- &m_LocalComm; // all ranks in this comm write to the same file -- int m_Rank; --}; -- --} // end namespace engine --} // end namespace core --} // end namespace adios2 -- --#endif // ADIOS2_ENGINE_BP_HDFSerialWriter --- -2.25.1 - diff --git a/recipe/0001-win-blosc-packed-attribute.patch b/recipe/0001-win-blosc-packed-attribute.patch deleted file mode 100644 index 640a6fc..0000000 --- a/recipe/0001-win-blosc-packed-attribute.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 5856cc6a2f1cfac5058e4a631239a6e63e8d0446 Mon Sep 17 00:00:00 2001 -From: Axel Huebl -Date: Fri, 4 Jun 2021 12:30:03 -0700 -Subject: [PATCH] Compress Blosc: Fix MSVC Build - -Generalize packed data attributes. ---- - source/adios2/operator/compress/CompressBlosc.h | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -diff --git a/source/adios2/operator/compress/CompressBlosc.h b/source/adios2/operator/compress/CompressBlosc.h -index 9251b91d1f..f472de4862 100644 ---- a/source/adios2/operator/compress/CompressBlosc.h -+++ b/source/adios2/operator/compress/CompressBlosc.h -@@ -17,6 +17,14 @@ - - #include "adios2/core/Operator.h" - -+#if defined(_MSC_VER) -+#define ADIOS2_CLASS_PACKED(name) __pragma(pack(push, 1)) class name -+#define ADIOS2_CLASS_PACKED_SUFFIX __pragma(pack(pop)) -+#else -+#define ADIOS2_CLASS_PACKED(name) class __attribute__((packed)) name -+#define ADIOS2_CLASS_PACKED_SUFFIX -+#endif -+ - namespace adios2 - { - namespace core -@@ -77,7 +85,7 @@ class CompressBlosc : public Operator - void *dataOut, const size_t sizeOut, - Params &info) const; - -- class __attribute__((packed)) DataHeader -+ ADIOS2_CLASS_PACKED(DataHeader) - { - /** compatible to the first 4 byte of blosc header - * -@@ -106,7 +114,8 @@ class CompressBlosc : public Operator - uint32_t GetNumChunks() const { return numberOfChunks; } - - bool IsChunked() const { return format == 0; } -- }; -+ } -+ ADIOS2_CLASS_PACKED_SUFFIX; - - static const std::map m_Shuffles; - static const std::set m_Compressors; -@@ -116,4 +125,7 @@ class CompressBlosc : public Operator - } // end namespace core - } // end namespace adios2 - -+#undef ADIOS2_CLASS_PACKED -+#undef ADIOS2_CLASS_PACKED_SUFFIX -+ - #endif /* ADIOS2_OPERATOR_COMPRESS_COMPRESSBLOSC_H_ */ diff --git a/recipe/0001-win-bp2h5-symlink.patch b/recipe/0001-win-bp2h5-symlink.patch deleted file mode 100644 index cff24c2..0000000 --- a/recipe/0001-win-bp2h5-symlink.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 91c4e603d5270a02a2ed468869e0bb7c8ff4d9dd Mon Sep 17 00:00:00 2001 -From: Chuck Atkins -Date: Tue, 12 Jan 2021 16:36:51 -0500 -Subject: [PATCH] bp2h5: Use copy instead of symlinks because of windows - ---- - source/utils/CMakeLists.txt | 7 ++----- - source/utils/adios_reorganize/bp2h5 | 1 - - source/utils/adios_reorganize/bp2h5_mpi | 1 - - 3 files changed, 2 insertions(+), 7 deletions(-) - delete mode 120000 source/utils/adios_reorganize/bp2h5 - delete mode 120000 source/utils/adios_reorganize/bp2h5_mpi - -diff --git a/source/utils/CMakeLists.txt b/source/utils/CMakeLists.txt -index eeefbcfe1..b8acbf7f5 100644 ---- a/source/utils/CMakeLists.txt -+++ b/source/utils/CMakeLists.txt -@@ -84,17 +84,14 @@ configure_file( - ${PROJECT_BINARY_DIR}/adios2_reorganize_wrapper - @ONLY - ) -+ - if(ADIOS2_HAVE_HDF5) - install(PROGRAMS ${PROJECT_BINARY_DIR}/adios2_reorganize_wrapper -- RENAME adios2_reorganize_wrapper${ADIOS2_EXECUTABLE_SUFFIX} -- DESTINATION ${CMAKE_INSTALL_BINDIR} -- ) -- install(PROGRAMS adios_reorganize/bp2h5 - RENAME bp2h5${ADIOS2_EXECUTABLE_SUFFIX} - DESTINATION ${CMAKE_INSTALL_BINDIR} - ) - if(ADIOS2_HAVE_MPI) -- install(PROGRAMS adios_reorganize/bp2h5_mpi -+ install(PROGRAMS ${PROJECT_BINARY_DIR}/adios2_reorganize_wrapper - RENAME bp2h5_mpi${ADIOS2_EXECUTABLE_SUFFIX} - DESTINATION ${CMAKE_INSTALL_BINDIR} - ) diff --git a/recipe/0002-removed-HDF5Mixer-engine-as-it-is-obsolete.patch b/recipe/0002-removed-HDF5Mixer-engine-as-it-is-obsolete.patch deleted file mode 100644 index 2606402..0000000 --- a/recipe/0002-removed-HDF5Mixer-engine-as-it-is-obsolete.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 117e070db120fa4d9ff64adf1b8b7ede87b7fa58 Mon Sep 17 00:00:00 2001 -From: Junmin Gu -Date: Tue, 14 Sep 2021 12:12:22 -0700 -Subject: [PATCH 2/4] removed HDF5Mixer engine as it is obsolete - ---- - source/adios2/CMakeLists.txt | 7 ------- - source/adios2/core/IO.cpp | 2 -- - source/adios2/core/IOHDF5.cpp | 12 ------------ - 3 files changed, 21 deletions(-) - -diff --git a/source/adios2/CMakeLists.txt b/source/adios2/CMakeLists.txt -index 2b3a84447..443e310a3 100644 ---- a/source/adios2/CMakeLists.txt -+++ b/source/adios2/CMakeLists.txt -@@ -260,13 +260,6 @@ if(ADIOS2_HAVE_HDF5) - engine/hdf5/HDF5WriterP.cpp - toolkit/interop/hdf5/HDF5Common.cpp toolkit/interop/hdf5/HDF5Common.tcc - ) -- if(NOT HDF5_VERSION VERSION_LESS 1.11) -- target_sources(adios2_hdf5 PRIVATE -- engine/mixer/HDFMixer.cpp -- engine/mixer/HDFMixer.tcc -- engine/mixer/HDFMixerWriter.cpp -- ) -- endif() - target_link_libraries(adios2_core PRIVATE adios2_hdf5) - set_property(TARGET adios2_hdf5 PROPERTY EXPORT_NAME hdf5) - set_property(TARGET adios2_hdf5 PROPERTY OUTPUT_NAME adios2${ADIOS2_LIBRARY_SUFFIX}_hdf5) -diff --git a/source/adios2/core/IO.cpp b/source/adios2/core/IO.cpp -index af026ab02..5b340489d 100644 ---- a/source/adios2/core/IO.cpp -+++ b/source/adios2/core/IO.cpp -@@ -54,7 +54,6 @@ namespace adios2 - namespace core - { - --IO::EngineFactoryEntry IO_MakeEngine_HDFMixer(); - IO::EngineFactoryEntry IO_MakeEngine_HDF5(); - - namespace -@@ -67,7 +66,6 @@ std::unordered_map Factory = { - {IO::MakeEngine, IO::MakeEngine}}, - {"hdfmixer", - #ifdef ADIOS2_HAVE_HDF5 -- IO_MakeEngine_HDFMixer() - #else - IO::NoEngineEntry("ERROR: this version didn't compile with " - "HDF5 library, can't use HDF5 engine\n") -diff --git a/source/adios2/core/IOHDF5.cpp b/source/adios2/core/IOHDF5.cpp -index 92c589654..f4df62caa 100644 ---- a/source/adios2/core/IOHDF5.cpp -+++ b/source/adios2/core/IOHDF5.cpp -@@ -9,9 +9,6 @@ - - #include "adios2/engine/hdf5/HDF5ReaderP.h" - #include "adios2/engine/hdf5/HDF5WriterP.h" --#if H5_VERSION_GE(1, 11, 0) --#include "adios2/engine/mixer/HDFMixer.h" --#endif - - namespace adios2 - { -@@ -37,15 +34,6 @@ std::shared_ptr MakeEngineHDF5(IO &io, const std::string &name, - - } // end anonymous namespace - --IO::EngineFactoryEntry IO_MakeEngine_HDFMixer() --{ --#if H5_VERSION_GE(1, 11, 0) -- return IO::EngineFactoryEntry{MakeEngineHDF5, -- MakeEngineHDF5}; --#else -- return IO::NoEngineEntry("ERROR: update HDF5 >= 1.11 to support VDS."); --#endif --} - - IO::EngineFactoryEntry IO_MakeEngine_HDF5() - { --- -2.25.1 - diff --git a/recipe/0003-Updated.-Removed-HDF5Mixer-engine.patch b/recipe/0003-Updated.-Removed-HDF5Mixer-engine.patch deleted file mode 100644 index 32681b7..0000000 --- a/recipe/0003-Updated.-Removed-HDF5Mixer-engine.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f387c0d20a223a4d00da6b6f253449a2ff1321c5 Mon Sep 17 00:00:00 2001 -From: Junmin Gu -Date: Tue, 14 Sep 2021 12:42:39 -0700 -Subject: [PATCH 3/4] Updated. Removed HDF5Mixer engine - ---- - docs/user_guide/source/engines/hdf5.rst | 12 ------------ - 1 file changed, 12 deletions(-) - -diff --git a/docs/user_guide/source/engines/hdf5.rst b/docs/user_guide/source/engines/hdf5.rst -index 6cad70af5..d1dbb85a7 100644 ---- a/docs/user_guide/source/engines/hdf5.rst -+++ b/docs/user_guide/source/engines/hdf5.rst -@@ -13,18 +13,6 @@ or, set it in client code. For example, here is how to create a hdf5 reader: - h5IO.SetEngine("HDF5"); - adios2::Engine h5Reader = h5IO.Open(filename, adios2::Mode::Read); - --In addition, with HDF5 distribution greater or equal to 1.11, one can use the engine ``HDF5Mixer`` --to write files with the VDS (virtual dataset) feature from HDF5. --The corresponding tag in the xml file is: ```` -- --and a sample code for VDS writer is: -- --.. code-block:: c++ -- -- adios2::IO h5IO = adios.DeclareIO("SomeName"); -- h5IO.SetEngine("HDF5Mixer"); -- adios2::Engine h5Writer = h5IO.Open(filename, adios2::Mode::Write); -- - To read back the h5 files generated with VDS to ADIOS2, one can use the HDF5 engine. Please make sure you are using the HDF5 library that has version greater than or equal to 1.11 in ADIOS2. - - The h5 file generated by ADIOS2 has two levels of groups: The top Group, ``/`` and its subgroups: ``Step0`` ... ``StepN``, where ``N`` is number of steps. All datasets belong to the subgroups. --- -2.25.1 - diff --git a/recipe/0004-clang-format.patch b/recipe/0004-clang-format.patch deleted file mode 100644 index 12ebcf1..0000000 --- a/recipe/0004-clang-format.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c2ef57b4332a58bcf5eaa49e89dddac4ff7cd932 Mon Sep 17 00:00:00 2001 -From: Junmin Gu -Date: Tue, 14 Sep 2021 12:50:07 -0700 -Subject: [PATCH 4/4] clang-format - ---- - source/adios2/core/IO.cpp | 8 -------- - source/adios2/core/IOHDF5.cpp | 1 - - 2 files changed, 9 deletions(-) - -diff --git a/source/adios2/core/IO.cpp b/source/adios2/core/IO.cpp -index 5b340489d..4f09f5eab 100644 ---- a/source/adios2/core/IO.cpp -+++ b/source/adios2/core/IO.cpp -@@ -58,19 +58,11 @@ IO::EngineFactoryEntry IO_MakeEngine_HDF5(); - - namespace - { -- - std::unordered_map Factory = { - {"bp3", - {IO::MakeEngine, IO::MakeEngine}}, - {"bp4", - {IO::MakeEngine, IO::MakeEngine}}, -- {"hdfmixer", --#ifdef ADIOS2_HAVE_HDF5 --#else -- IO::NoEngineEntry("ERROR: this version didn't compile with " -- "HDF5 library, can't use HDF5 engine\n") --#endif -- }, - {"dataman", - #ifdef ADIOS2_HAVE_DATAMAN - {IO::MakeEngine, -diff --git a/source/adios2/core/IOHDF5.cpp b/source/adios2/core/IOHDF5.cpp -index f4df62caa..1267be6ac 100644 ---- a/source/adios2/core/IOHDF5.cpp -+++ b/source/adios2/core/IOHDF5.cpp -@@ -34,7 +34,6 @@ std::shared_ptr MakeEngineHDF5(IO &io, const std::string &name, - - } // end anonymous namespace - -- - IO::EngineFactoryEntry IO_MakeEngine_HDF5() - { - return IO::EngineFactoryEntry{MakeEngineHDF5, --- -2.25.1 - diff --git a/recipe/meta.yaml b/recipe/meta.yaml index cea7a11..1874d01 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -18,16 +18,6 @@ package: source: url: https://github.com/ornladios/ADIOS2/archive/v{{ version }}.tar.gz sha256: {{ sha256 }} - patches: - # https://github.com/ornladios/ADIOS2/pull/2746 - - 0001-win-blosc-packed-attribute.patch - # https://github.com/ornladios/ADIOS2/pull/2866 - # backport to 2.7.1: - # https://github.com/ax3l/ADIOS2/tree/removeMixer271 - - 0001-Removed-mixer.patch - - 0002-removed-HDF5Mixer-engine-as-it-is-obsolete.patch - - 0003-Updated.-Removed-HDF5Mixer-engine.patch - - 0004-clang-format.patch build: number: {{ build }}