From 09885f70ae2bbc89c20b808c7ee2e24b36daa176 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Wed, 15 Jan 2025 15:27:03 +0100 Subject: [PATCH 01/11] CMake: Require ADIOS2 v2.9 --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e5272ae2de..03637b1938 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -365,14 +365,14 @@ if(openPMD_HAVE_MPI) list(APPEND openPMD_REQUIRED_ADIOS2_COMPONENTS MPI) endif() if(openPMD_USE_ADIOS2 STREQUAL AUTO) - find_package(ADIOS2 2.7.0 CONFIG COMPONENTS ${openPMD_REQUIRED_ADIOS2_COMPONENTS}) + find_package(ADIOS2 2.9.0 CONFIG COMPONENTS ${openPMD_REQUIRED_ADIOS2_COMPONENTS}) if(ADIOS2_FOUND) set(openPMD_HAVE_ADIOS2 TRUE) else() set(openPMD_HAVE_ADIOS2 FALSE) endif() elseif(openPMD_USE_ADIOS2) - find_package(ADIOS2 2.7.0 REQUIRED CONFIG COMPONENTS ${openPMD_REQUIRED_ADIOS2_COMPONENTS}) + find_package(ADIOS2 2.9.0 REQUIRED CONFIG COMPONENTS ${openPMD_REQUIRED_ADIOS2_COMPONENTS}) set(openPMD_HAVE_ADIOS2 TRUE) else() set(openPMD_HAVE_ADIOS2 FALSE) From f9cbc2b402adac7a74e9ebc79ae9a7e56ae917c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Wed, 15 Jan 2025 15:32:14 +0100 Subject: [PATCH 02/11] Remove openPMD_HAS_ADIOS_2_8 macro --- include/openPMD/IO/ADIOS/ADIOS2Auxiliary.hpp | 4 ---- include/openPMD/IO/ADIOS/macros.hpp | 5 ----- src/IO/ADIOS/ADIOS2File.cpp | 2 -- src/IO/ADIOS/ADIOS2IOHandler.cpp | 18 ++---------------- test/Files_SerialIO/close_and_reopen_test.cpp | 6 ------ 5 files changed, 2 insertions(+), 33 deletions(-) diff --git a/include/openPMD/IO/ADIOS/ADIOS2Auxiliary.hpp b/include/openPMD/IO/ADIOS/ADIOS2Auxiliary.hpp index e741b029df..2741a91fb0 100644 --- a/include/openPMD/IO/ADIOS/ADIOS2Auxiliary.hpp +++ b/include/openPMD/IO/ADIOS/ADIOS2Auxiliary.hpp @@ -198,9 +198,7 @@ namespace detail case adios2::Mode::Write: return false; case adios2::Mode::Read: -#if openPMD_HAS_ADIOS_2_8 case adios2::Mode::ReadRandomAccess: -#endif return true; case adios2::Mode::Undefined: case adios2::Mode::Sync: @@ -217,9 +215,7 @@ namespace detail case adios2::Mode::Write: return true; case adios2::Mode::Read: -#if openPMD_HAS_ADIOS_2_8 case adios2::Mode::ReadRandomAccess: -#endif return false; case adios2::Mode::Undefined: case adios2::Mode::Sync: diff --git a/include/openPMD/IO/ADIOS/macros.hpp b/include/openPMD/IO/ADIOS/macros.hpp index 8618573713..09dcb278dd 100644 --- a/include/openPMD/IO/ADIOS/macros.hpp +++ b/include/openPMD/IO/ADIOS/macros.hpp @@ -6,11 +6,6 @@ #include -/* - * ADIOS2 v2.8 brings mode::ReadRandomAccess - */ -#define openPMD_HAS_ADIOS_2_8 \ - (ADIOS2_VERSION_MAJOR * 100 + ADIOS2_VERSION_MINOR >= 208) /* * ADIOS2 v2.9 brings modifiable attributes (technically already in v2.8, but * there are too many bugs, so we only support it beginning with v2.9). diff --git a/src/IO/ADIOS/ADIOS2File.cpp b/src/IO/ADIOS/ADIOS2File.cpp index 82dd33f70b..378c3cc13c 100644 --- a/src/IO/ADIOS/ADIOS2File.cpp +++ b/src/IO/ADIOS/ADIOS2File.cpp @@ -764,9 +764,7 @@ adios2::Engine &ADIOS2File::getEngine() streamStatus = StreamStatus::DuringStep; break; } -#if openPMD_HAS_ADIOS_2_8 case adios2::Mode::ReadRandomAccess: -#endif case adios2::Mode::Read: { m_engine = std::make_optional(adios2::Engine(m_IO.Open(m_file, m_mode))); diff --git a/src/IO/ADIOS/ADIOS2IOHandler.cpp b/src/IO/ADIOS/ADIOS2IOHandler.cpp index 0f1bbe3eeb..18c25fba9a 100644 --- a/src/IO/ADIOS/ADIOS2IOHandler.cpp +++ b/src/IO/ADIOS/ADIOS2IOHandler.cpp @@ -1552,12 +1552,8 @@ adios2::Mode ADIOS2IOHandlerImpl::adios2AccessMode( constexpr std::array modeNames{ pair_t{"write", adios2::Mode::Write}, pair_t{"read", adios2::Mode::Read}, - pair_t{"append", adios2::Mode::Append} -#if openPMD_HAS_ADIOS_2_8 - , - pair_t{"readrandomaccess", adios2::Mode::ReadRandomAccess} -#endif - }; + pair_t{"append", adios2::Mode::Append}, + pair_t{"readrandomaccess", adios2::Mode::ReadRandomAccess}}; for (auto const &[name, mode] : modeNames) { if (name == access_mode_string) @@ -1589,7 +1585,6 @@ adios2::Mode ADIOS2IOHandlerImpl::adios2AccessMode( return adios2::Mode::Append; } break; -#if openPMD_HAS_ADIOS_2_8 case Access::READ_LINEAR: switch (m_handler->m_encoding) { @@ -1603,11 +1598,6 @@ adios2::Mode ADIOS2IOHandlerImpl::adios2AccessMode( break; case Access::READ_ONLY: return adios2::Mode::ReadRandomAccess; -#else - case Access::READ_LINEAR: - case Access::READ_ONLY: - return adios2::Mode::Read; -#endif case Access::READ_WRITE: if (auxiliary::directory_exists(fullPath) || auxiliary::file_exists(fullPath)) @@ -1622,11 +1612,7 @@ adios2::Mode ADIOS2IOHandlerImpl::adios2AccessMode( case adios_defs::OpenFileAs::Create: return adios2::Mode::Write; case adios_defs::OpenFileAs::Open: -#if openPMD_HAS_ADIOS_2_8 return adios2::Mode::ReadRandomAccess; -#else - return adios2::Mode::Read; -#endif case adios_defs::OpenFileAs::ReopenFileThatWeCreated: /* In order to write new data to an Iteration that was * created and closed previously, the only applicable access diff --git a/test/Files_SerialIO/close_and_reopen_test.cpp b/test/Files_SerialIO/close_and_reopen_test.cpp index dcc1969ded..3613d00966 100644 --- a/test/Files_SerialIO/close_and_reopen_test.cpp +++ b/test/Files_SerialIO/close_and_reopen_test.cpp @@ -65,16 +65,12 @@ auto run_test_filebased( E_x.storeChunk(data, {0}, {5}); it.close(); -#if !openPMD_HAS_ADIOS_2_8 if (series.backend() != "ADIOS2") { -#endif it.open(); it.setTimeUnitSI(2.0); it.close(); -#if !openPMD_HAS_ADIOS_2_8 } -#endif } series.close(); @@ -289,7 +285,6 @@ auto close_and_reopen_test() -> void * This test writes the same attribute with different values over steps, * triggering a bug in ADIOS2 v2.7. */ -#if openPMD_HAS_ADIOS_2_8 run_test_groupbased( [](Series &s) { return s.iterations; }, "bp4", @@ -309,7 +304,6 @@ auto close_and_reopen_test() -> void [](Series &s) { return s.snapshots(); }, "json", {Access::READ_RANDOM_ACCESS, Access::READ_LINEAR}); -#endif #if openPMD_HAVE_HDF5 run_test_groupbased( [](Series &s) { return s.snapshots(); }, From d90774d1c6c85adad167058e0f927a3a2f153aa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Wed, 15 Jan 2025 15:40:54 +0100 Subject: [PATCH 03/11] Remove openPMD_HAS_ADIOS_2_9 macro --- include/openPMD/IO/ADIOS/macros.hpp | 8 --- src/IO/ADIOS/ADIOS2File.cpp | 21 +----- src/IO/ADIOS/ADIOS2IOHandler.cpp | 66 ++----------------- test/CoreTest.cpp | 2 +- test/Files_SerialIO/close_and_reopen_test.cpp | 5 -- test/ParallelIOTest.cpp | 8 +-- test/SerialIOTest.cpp | 51 ++------------ 7 files changed, 16 insertions(+), 145 deletions(-) diff --git a/include/openPMD/IO/ADIOS/macros.hpp b/include/openPMD/IO/ADIOS/macros.hpp index 09dcb278dd..656a7aec35 100644 --- a/include/openPMD/IO/ADIOS/macros.hpp +++ b/include/openPMD/IO/ADIOS/macros.hpp @@ -6,14 +6,6 @@ #include -/* - * ADIOS2 v2.9 brings modifiable attributes (technically already in v2.8, but - * there are too many bugs, so we only support it beginning with v2.9). - * Group table feature requires ADIOS2 v2.9. - */ -#define openPMD_HAS_ADIOS_2_9 \ - (ADIOS2_VERSION_MAJOR * 100 + ADIOS2_VERSION_MINOR >= 209) - #define openPMD_HAS_ADIOS_2_10 \ (ADIOS2_VERSION_MAJOR * 100 + ADIOS2_VERSION_MINOR >= 210) diff --git a/src/IO/ADIOS/ADIOS2File.cpp b/src/IO/ADIOS/ADIOS2File.cpp index 378c3cc13c..c6f4747aff 100644 --- a/src/IO/ADIOS/ADIOS2File.cpp +++ b/src/IO/ADIOS/ADIOS2File.cpp @@ -428,8 +428,6 @@ void ADIOS2File::configure_IO() // these properties are inferred from the opened dataset in read mode if (writeOnly(m_mode)) { - -#if openPMD_HAS_ADIOS_2_9 if (!m_impl->m_useGroupTable.has_value()) { switch (m_impl->m_handler->m_encoding) @@ -456,15 +454,6 @@ void ADIOS2File::configure_IO() ? ADIOS2IOHandlerImpl::ModifiableAttributes::Yes : ADIOS2IOHandlerImpl::ModifiableAttributes::No; } -#else - if (!m_impl->m_useGroupTable.has_value()) - { - m_impl->m_useGroupTable = UseGroupTable::No; - } - - m_impl->m_modifiableAttributes = - ADIOS2IOHandlerImpl::ModifiableAttributes::No; -#endif } // set engine type @@ -1318,9 +1307,7 @@ void ADIOS2File::markActive(Writable *writable) { case UseGroupTable::No: break; - case UseGroupTable::Yes: -#if openPMD_HAS_ADIOS_2_9 - { + case UseGroupTable::Yes: { if (writeOnly(m_mode) && m_impl->m_writeAttributesFromThisRank) { auto currentStepBuffered = currentStep(); @@ -1344,12 +1331,6 @@ void ADIOS2File::markActive(Writable *writable) m_pathsMarkedAsActive.end()); } } -#else - (void)writable; - throw error::OperationUnsupportedInBackend( - m_impl->m_handler->backendName(), - "Group table feature requires ADIOS2 >= v2.9."); -#endif break; } } diff --git a/src/IO/ADIOS/ADIOS2IOHandler.cpp b/src/IO/ADIOS/ADIOS2IOHandler.cpp index 18c25fba9a..5bd3803446 100644 --- a/src/IO/ADIOS/ADIOS2IOHandler.cpp +++ b/src/IO/ADIOS/ADIOS2IOHandler.cpp @@ -293,21 +293,6 @@ void ADIOS2IOHandlerImpl::init( defaultOperators = std::move(operators.value()); } } -#if !openPMD_HAS_ADIOS_2_9 - if (m_modifiableAttributes == ModifiableAttributes::Yes) - { - throw error::OperationUnsupportedInBackend( - m_handler->backendName(), - "Modifiable attributes require ADIOS2 >= v2.9."); - } - if (m_useGroupTable.has_value() && - m_useGroupTable.value() == UseGroupTable::Yes) - { - throw error::OperationUnsupportedInBackend( - m_handler->backendName(), - "ADIOS2 group table feature requires ADIOS2 >= v2.9."); - } -#endif } std::optional> @@ -378,7 +363,7 @@ std::string ADIOS2IOHandlerImpl::fileSuffix(bool verbose) const { // SST engine adds its suffix unconditionally // so we don't add it -#if openPMD_HAVE_ADIOS2_BP5 && openPMD_HAS_ADIOS_2_9 +#if openPMD_HAVE_ADIOS2_BP5 constexpr char const *const default_file_ending = ".bp5"; #else constexpr char const *const default_file_ending = ".bp4"; @@ -661,12 +646,9 @@ void ADIOS2IOHandlerImpl::createFile( // print this warning only in the new layout (with group table) if (m_useGroupTable.value_or(UseGroupTable::No) == UseGroupTable::Yes && - (m_engineType == "bp5" -#if openPMD_HAS_ADIOS_2_9 - || (m_engineType == "file" || m_engineType == "filestream" || - m_engineType == "bp") -#endif - )) + (m_engineType == "bp5" || + (m_engineType == "file" || m_engineType == "filestream" || + m_engineType == "bp"))) { std::cerr << warningADIOS2NoGroupbasedEncoding << std::endl; printedWarningsAlready.noGroupBased = true; @@ -775,13 +757,7 @@ void ADIOS2IOHandlerImpl::createDataset( "[ADIOS2] Creating a dataset in a file opened as read " "only is not possible."); } -#if !openPMD_HAS_ADIOS_2_9 - if (parameters.joinedDimension.has_value()) - { - error::throwOperationUnsupportedInBackend( - "ADIOS2", "Joined Arrays require ADIOS2 >= v2.9"); - } -#endif + if (!writable->written) { /* Sanitize name */ @@ -1073,14 +1049,6 @@ void ADIOS2IOHandlerImpl::writeAttribute( { return; } -#if !openPMD_HAS_ADIOS_2_9 - if (parameters.changesOverSteps == - Parameter::ChangesOverSteps::Yes) - { - // cannot do this - return; - } -#endif switchType( parameters.dtype, this, writable, parameters); } @@ -1907,12 +1875,10 @@ namespace detail adios2::IO IO = filedata.m_IO; impl->m_dirty.emplace(std::move(file)); -#if openPMD_HAS_ADIOS_2_9 if (impl->m_modifiableAttributes == ADIOS2IOHandlerImpl::ModifiableAttributes::No && parameters.changesOverSteps == Parameter::ChangesOverSteps::No) -#endif // we only support modifiable attrs for ADIOS2 >= 2.9, so no `if` { std::string t = IO.AttributeType(fullName); if (!t.empty()) // an attribute is present <=> it has a type @@ -1973,21 +1939,13 @@ namespace detail } auto &value = std::get(parameters.resource); -#if openPMD_HAS_ADIOS_2_9 bool modifiable = impl->m_modifiableAttributes == ADIOS2IOHandlerImpl::ModifiableAttributes::Yes || parameters.changesOverSteps != Parameter::ChangesOverSteps::No; -#else - bool modifiable = impl->m_modifiableAttributes == - ADIOS2IOHandlerImpl::ModifiableAttributes::Yes || - parameters.changesOverSteps == - Parameter::ChangesOverSteps::Yes; -#endif auto defineAttribute = [&IO, &fullName, &modifiable, &impl](auto const &...args) { -#if openPMD_HAS_ADIOS_2_9 (void)impl; auto attr = IO.DefineAttribute( fullName, @@ -1995,19 +1953,7 @@ namespace detail /* variableName = */ "", /* separator = */ "/", /* allowModification = */ modifiable); -#else - /* - * Defensive coding, normally this condition should be checked - * before getting this far. - */ - if (modifiable) - { - throw error::OperationUnsupportedInBackend( - impl->m_handler->backendName(), - "Modifiable attributes require ADIOS2 >= v2.8."); - } - auto attr = IO.DefineAttribute(fullName, args...); -#endif + if (!attr) { throw std::runtime_error( diff --git a/test/CoreTest.cpp b/test/CoreTest.cpp index 2c4a0b1680..3f88a18864 100644 --- a/test/CoreTest.cpp +++ b/test/CoreTest.cpp @@ -1200,7 +1200,7 @@ TEST_CASE("backend_via_json", "[core]") TEST_CASE("wildcard_extension", "[core]") { #if openPMD_HAVE_ADIOS2 -#if openPMD_HAVE_ADIOS2_BP5 && openPMD_HAS_ADIOS_2_9 +#if openPMD_HAVE_ADIOS2_BP5 constexpr char const *const default_file_ending = "bp5"; #else constexpr char const *const default_file_ending = "bp4"; diff --git a/test/Files_SerialIO/close_and_reopen_test.cpp b/test/Files_SerialIO/close_and_reopen_test.cpp index 3613d00966..56be4a39f6 100644 --- a/test/Files_SerialIO/close_and_reopen_test.cpp +++ b/test/Files_SerialIO/close_and_reopen_test.cpp @@ -12,13 +12,8 @@ using namespace openPMD; #if openPMD_HAVE_ADIOS2 constexpr char const *write_cfg = -#if openPMD_HAS_ADIOS_2_9 R"(adios2.use_group_table = true adios2.modifiable_attributes = true)"; -#else - R"(adios2.use_group_table = false - adios2.modifiable_attributes = false)"; -#endif template auto run_test_filebased( diff --git a/test/ParallelIOTest.cpp b/test/ParallelIOTest.cpp index 519a8749b2..cf9ec7af71 100644 --- a/test/ParallelIOTest.cpp +++ b/test/ParallelIOTest.cpp @@ -1155,7 +1155,7 @@ TEST_CASE("hipace_like_write", "[parallel]") } #endif -#if openPMD_HAVE_ADIOS2 && openPMD_HAS_ADIOS_2_9 && openPMD_HAVE_MPI +#if openPMD_HAVE_ADIOS2 && openPMD_HAVE_MPI TEST_CASE("independent_write_with_collective_flush", "[parallel]") { Series write( @@ -1328,11 +1328,7 @@ doshuffle = "BLOSC_BITSHUFFLE" [adios2] unused = "parameter" attribute_writing_ranks = 0 -)END" -#if openPMD_HAS_ADIOS_2_9 - "use_group_table = true" -#endif - R"END( +"use_group_table = true" [adios2.engine] type = "bp4" unused = "as well" diff --git a/test/SerialIOTest.cpp b/test/SerialIOTest.cpp index 9c06ac0e3e..5b29c2c64a 100644 --- a/test/SerialIOTest.cpp +++ b/test/SerialIOTest.cpp @@ -107,21 +107,12 @@ std::vector testedFileExtensions() allExtensions.begin(), allExtensions.end(), []([[maybe_unused]] std::string const &ext) { -#if openPMD_HAS_ADIOS_2_9 // sst and ssc need a receiver for testing // bp5 is already tested via bp // toml parsing is very slow and its implementation is equivalent to // the json backend, so it is only activated for selected tests return ext == "sst" || ext == "ssc" || ext == "bp5" || ext == "toml"; -#else - // toml parsing is very slow and its implementation is equivalent to - // the json backend, so it is only activated for selected tests - // sst and ssc need a receiver for testing - // bp4 is already tested via bp - return ext == "sst" || ext == "ssc" || ext == "bp4" || - ext == "toml"; -#endif }); return {allExtensions.begin(), newEnd}; } @@ -593,9 +584,7 @@ TEST_CASE("close_iteration_interleaved_test", "[serial]") // run this test for ADIOS2 & JSON only if (t == "h5") continue; -#if openPMD_HAS_ADIOS_2_9 close_iteration_interleaved_test(t, IterationEncoding::variableBased); -#endif // openPMD_HAS_ADIOS_2_9 } } @@ -5182,22 +5171,16 @@ void bp4_steps( TEST_CASE("bp4_steps", "[serial][adios2]") { - std::string bp4 = json::merge( - R"( + std::string bp4 = R"( { "ADIOS2": { "engine": { - "type": "bp4" + "type": "bp4", + "use_group_table": true } } } - )", -#if openPMD_HAS_ADIOS_2_9 - R"({"ADIOS2":{"use_group_table": true}})" -#else - R"({"ADIOS2":{"use_group_table": false}})" -#endif - ); + )"; std::string nullcore = R"( { "adios2": { @@ -5211,17 +5194,8 @@ TEST_CASE("bp4_steps", "[serial][adios2]") bp4_steps("../samples/bp4steps_default.bp", "{}"); // Can use READ_LINEAR with ADIOS2 v2.9 because then we have the group table // feature and can sensibly parse group-based encoding in step-based mode - bp4_steps( - "../samples/bp4steps.bp", - bp4, -#if openPMD_HAS_ADIOS_2_9 - Access::READ_LINEAR -#else - Access::READ_ONLY -#endif - ); + bp4_steps("../samples/bp4steps.bp", bp4, Access::READ_LINEAR); -#if openPMD_HAS_ADIOS_2_9 /* * Do this whole thing once more, but this time use the new attribute * layout. @@ -5238,7 +5212,6 @@ TEST_CASE("bp4_steps", "[serial][adios2]") )"; bp4_steps("../samples/newlayout_bp4steps.bp", bp4, Access::READ_LINEAR); bp4_steps("../samples/newlayout_bp4steps.bp", bp4); -#endif } #endif @@ -5738,7 +5711,6 @@ TEST_CASE("git_adios2_sample_test", "[serial][adios2]") } } -#if openPMD_HAS_ADIOS_2_9 void adios2_group_table( std::string const &jsonWrite, std::string const &jsonRead, @@ -6102,10 +6074,7 @@ TEST_CASE("variableBasedParticleData", "[serial][adios2]") { variableBasedParticleData(); } -#endif // openPMD_HAS_ADIOS_2_9 -#endif // openPMD_HAS_ADIOS2 -#if openPMD_HAVE_ADIOS2 #ifdef ADIOS2_HAVE_BZIP2 TEST_CASE("automatically_deactivate_span", "[serial][adios2]") { @@ -6271,7 +6240,6 @@ TEST_CASE("automatically_deactivate_span", "[serial][adios2]") } } #endif -#endif // @todo Upon switching to ADIOS2 2.7.0, test this the other way around also void iterate_nonstreaming_series( @@ -6430,7 +6398,7 @@ TEST_CASE("iterate_nonstreaming_series", "[serial][adios2]") } #endif } -#if openPMD_HAVE_ADIOS2 && openPMD_HAS_ADIOS_2_9 +#if openPMD_HAVE_ADIOS2 iterate_nonstreaming_series( "../samples/iterate_nonstreaming_series_variablebased.bp", true, @@ -6832,7 +6800,6 @@ TEST_CASE("deferred_parsing", "[serial]") } } -#if openPMD_HAS_ADIOS_2_9 void chaotic_stream(std::string const &filename, bool variableBased) { /* @@ -6907,7 +6874,6 @@ TEST_CASE("chaotic_stream", "[serial]") chaotic_stream("../samples/chaotic_stream_vbased." + t, true); } } -#endif // openPMD_HAS_ADIOS_2_9 #ifdef openPMD_USE_INVASIVE_TESTS void unfinished_iteration_test( @@ -7030,7 +6996,6 @@ TEST_CASE("unfinished_iteration_test", "[serial]") IterationEncoding::groupBased, R"({"backend": "adios2"})", /* test_linear_access = */ false); -#if openPMD_HAS_ADIOS_2_9 unfinished_iteration_test( "bp5", IterationEncoding::variableBased, @@ -7043,7 +7008,6 @@ TEST_CASE("unfinished_iteration_test", "[serial]") } } )"); -#endif // openPMD_HAS_ADIOS_2_9 unfinished_iteration_test( "bp", IterationEncoding::fileBased, R"({"backend": "adios2"})"); #endif @@ -7480,7 +7444,6 @@ TEST_CASE("append_mode", "[serial]") ParseMode::LinearWithoutSnapshot, jsonConfigOld, /* test_read_linear = */ false); -#if openPMD_HAS_ADIOS_2_9 append_mode( "../samples/append/append_groupbased." + t, false, @@ -7497,7 +7460,6 @@ TEST_CASE("append_mode", "[serial]") true, ParseMode::WithSnapshot, jsonConfigNew); -#endif } else { @@ -7509,7 +7471,6 @@ TEST_CASE("append_mode", "[serial]") } } -#if openPMD_HAS_ADIOS_2_9 void append_mode_filebased(std::string const &extension) { std::string jsonConfig = R"END( From 78609230e5f2e03d7bf7d30311fde4328865bc17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Wed, 15 Jan 2025 15:49:44 +0100 Subject: [PATCH 04/11] Fixes --- test/ParallelIOTest.cpp | 2 +- test/SerialIOTest.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/ParallelIOTest.cpp b/test/ParallelIOTest.cpp index cf9ec7af71..2d4cc6554e 100644 --- a/test/ParallelIOTest.cpp +++ b/test/ParallelIOTest.cpp @@ -1328,7 +1328,7 @@ doshuffle = "BLOSC_BITSHUFFLE" [adios2] unused = "parameter" attribute_writing_ranks = 0 -"use_group_table = true" +use_group_table = true [adios2.engine] type = "bp4" unused = "as well" diff --git a/test/SerialIOTest.cpp b/test/SerialIOTest.cpp index 5b29c2c64a..ab8c2ed15c 100644 --- a/test/SerialIOTest.cpp +++ b/test/SerialIOTest.cpp @@ -5174,9 +5174,9 @@ TEST_CASE("bp4_steps", "[serial][adios2]") std::string bp4 = R"( { "ADIOS2": { + "use_group_table": true, "engine": { - "type": "bp4", - "use_group_table": true + "type": "bp4" } } } From 1159c9a68030adbd68252be6927678f1e65bfbe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Wed, 15 Jan 2025 17:07:49 +0100 Subject: [PATCH 05/11] Update ADIOS2 in the CI --- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml | 2 +- .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml index 8a8dd00024..a0b9f680d4 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2 + - adios2@2.9.2 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml index a6d568611f..1820d4869b 100644 --- a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.7.1 + - adios2@2.9.1 - hdf5 - mpich diff --git a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml index 1543ec794c..4c26d4cc62 100644 --- a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2 + - adios2@2.10.2 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml index 8785650cf2..d68f81d9cb 100644 --- a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2 + - adios2@2.10.2 - hdf5 - openmpi From 1740136795b37cb08a7709118ecf1b9eba174bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Fri, 17 Jan 2025 13:18:10 +0100 Subject: [PATCH 06/11] Only ADIOS2 v2.9 on Spack? --- .github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml | 2 +- .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml index 06e9d1ac40..f332f80422 100644 --- a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2 + - adios2@2.9 - hdf5 packages: diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml index fa2e588608..ca2a014c39 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2 + - adios2@2.9 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml index a0b9f680d4..934a90f9e1 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9.2 + - adios2@2.9 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml index 1820d4869b..ee1e73d6af 100644 --- a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9.1 + - adios2@2.9 - hdf5 - mpich diff --git a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml index 4c26d4cc62..dbe791a0eb 100644 --- a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.10.2 + - adios2@2.9 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml index d68f81d9cb..fee373bd7e 100644 --- a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.10.2 + - adios2@2.9 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml index 7f051faa79..07bda12e23 100644 --- a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml +++ b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2 + - adios2@2.9 - hdf5 - openmpi From a2c747a5d99e9d0c3cf8e6aeb9cdd4bd7b057471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Fri, 17 Jan 2025 13:34:31 +0100 Subject: [PATCH 07/11] Revert "Only ADIOS2 v2.9 on Spack?" This reverts commit 1740136795b37cb08a7709118ecf1b9eba174bd9. --- .github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml | 2 +- .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml index f332f80422..06e9d1ac40 100644 --- a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2 - hdf5 packages: diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml index ca2a014c39..fa2e588608 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml index 934a90f9e1..a0b9f680d4 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2@2.9.2 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml index ee1e73d6af..1820d4869b 100644 --- a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2@2.9.1 - hdf5 - mpich diff --git a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml index dbe791a0eb..4c26d4cc62 100644 --- a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2@2.10.2 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml index fee373bd7e..d68f81d9cb 100644 --- a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2@2.10.2 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml index 07bda12e23..7f051faa79 100644 --- a/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml +++ b/.github/ci/spack-envs/gcc_py_ompi_h5_ad2_arm64/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2 - hdf5 - openmpi From 727030cc001fec4414154716956e189e898d195a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Fri, 17 Jan 2025 13:34:47 +0100 Subject: [PATCH 08/11] Update spack --- .github/workflows/dependencies/install_spack | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependencies/install_spack b/.github/workflows/dependencies/install_spack index 30d7d06a92..7a45620503 100755 --- a/.github/workflows/dependencies/install_spack +++ b/.github/workflows/dependencies/install_spack @@ -3,7 +3,7 @@ set -eu -o pipefail -spack_ver="0.17.1" +spack_ver="0.22.3" cd /opt if [[ -d spack && ! -f spack_${spack_ver} ]] From 5b647daeaf65a043b33b9cf12fe3991e17454818 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Fri, 17 Jan 2025 13:38:11 +0100 Subject: [PATCH 09/11] Only specify major ADIOS2 versions --- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml | 2 +- .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml | 2 +- .github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml index a0b9f680d4..934a90f9e1 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9.2 + - adios2@2.9 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml index 1820d4869b..ee1e73d6af 100644 --- a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9.1 + - adios2@2.9 - hdf5 - mpich diff --git a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml index 4c26d4cc62..ebe5acb1bd 100644 --- a/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.10.2 + - adios2@2.10 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml index d68f81d9cb..6e528c5ddb 100644 --- a/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.10.2 + - adios2@2.10 - hdf5 - openmpi From bef56056384839efa0fc491c91fb9d2a9f471793 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Fri, 17 Jan 2025 14:32:43 +0100 Subject: [PATCH 10/11] Fixes: Mgard, /usr/bin/cmake --- .github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml | 2 +- .github/workflows/linux.yml | 4 ++++ .github/workflows/tooling.yml | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml index 06e9d1ac40..08bbe79f00 100644 --- a/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang14_py311_nompi_h5_ad2/spack.yaml @@ -13,7 +13,7 @@ spack: hdf5: variants: ~mpi adios2: - variants: ~mpi ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 + variants: ~mpi ~zfp ~sz ~png ~dataman ~python ~fortran ~ssc ~shared ~bzip2 ~mgard cmake: externals: - spec: cmake@3.22.1 diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index faad7cd9e0..4c3d936a55 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -63,6 +63,7 @@ jobs: mpiexec --version perl --version python --version + sudo ln -s "$(which cmake)" /usr/bin/cmake eval $(spack env activate --sh .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/) spack install @@ -99,6 +100,7 @@ jobs: - name: Build env: {CC: clang-7, CXX: clang++-7, CXXFLAGS: -Werror} run: | + sudo ln -s "$(which cmake)" /usr/bin/cmake eval $(spack env activate --sh .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2/) spack install @@ -184,6 +186,7 @@ jobs: mpiexec --version perl --version python --version + sudo ln -s "$(which cmake)" /usr/bin/cmake eval $(spack env activate --sh .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/) spack install @@ -235,6 +238,7 @@ jobs: - name: Build env: {CC: gcc-7, CXX: g++-7, CXXFLAGS: -Werror} run: | + sudo ln -s "$(which cmake)" /usr/bin/cmake eval $(spack env activate --sh .github/ci/spack-envs/gcc7_py36_ompi_h5_ad2/) spack install diff --git a/.github/workflows/tooling.yml b/.github/workflows/tooling.yml index 03d5070d86..4f4ed5e377 100644 --- a/.github/workflows/tooling.yml +++ b/.github/workflows/tooling.yml @@ -24,6 +24,7 @@ jobs: - name: Build env: {CC: clang, CXX: clang++} run: | + sudo ln -s "$(which cmake)" /usr/bin/cmake eval $(spack env activate --sh .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/) spack install @@ -54,6 +55,7 @@ jobs: - name: Build env: {CC: mpicc, CXX: mpic++, OMPI_CC: clang-10, OMPI_CXX: clang++-10, CXXFLAGS: -Werror, OPENPMD_HDF5_CHUNKS: none, OPENPMD_TEST_NFILES_MAX: 100} run: | + sudo ln -s "$(which cmake)" /usr/bin/cmake eval $(spack env activate --sh .github/ci/spack-envs/clangtidy_nopy_ompi_h5_ad2/) spack install SOURCEPATH="$(pwd)" From 3d4fd4b635676efbb281824e0b10742fc03668d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Fri, 17 Jan 2025 15:19:53 +0100 Subject: [PATCH 11/11] Try ADIOS2 v2.10 for failing runs --- .github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml | 2 +- .github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml index 934a90f9e1..c0a7254a2d 100644 --- a/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml +++ b/.github/ci/spack-envs/clang7_nopy_ompi_h5_ad2_libcpp/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2@2.10 - hdf5 - openmpi diff --git a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml index ee1e73d6af..f8cc0c3f8c 100644 --- a/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml +++ b/.github/ci/spack-envs/clang8_py38_mpich_h5_ad2/spack.yaml @@ -6,7 +6,7 @@ # spack: specs: - - adios2@2.9 + - adios2@2.10 - hdf5 - mpich