Parallel HDF5: Try fixing strict collective requirements of HDF5 >= 2.0#1862
Parallel HDF5: Try fixing strict collective requirements of HDF5 >= 2.0#1862franzpoeschel wants to merge 85 commits intoopenPMD:devfrom
Conversation
11ba7aa to
b6ea4b4
Compare
| } | ||
| } // namespace | ||
|
|
||
| std::future<void> AbstractIOHandlerImpl::flush(FlushLevel l) |
Check warning
Code scanning / CodeQL
Poorly documented large function Warning
| while (!(*m_handler).m_work.empty()) | ||
| { | ||
| IOTask &i = (*m_handler).m_work.front(); | ||
| // verifyFlushType(i.operation, l); |
Check notice
Code scanning / CodeQL
Commented-out code Note
a5c1985 to
bcb55ef
Compare
| { | ||
| template <typename T, typename RecordType> | ||
| PostProcessConvertedAttributeImpl<T, RecordType>:: | ||
| PostProcessConvertedAttributeImpl(RecordType record_in, handler_t reader_in) |
Check notice
Code scanning / CodeQL
Large object passed by value Note
| REQUIRE(r.numAttributes() == 0); | ||
| // TODO: unitSI | ||
| // REQUIRE(r["x"].numAttributes() == 0); | ||
| // REQUIRE(r["y"].numAttributes() == 0); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
| MPI_COMM_WORLD); | ||
| i.parseBase(); | ||
| REQUIRE(i.rankTable(/* collective = */ true) == compare); | ||
| // REQUIRE(i.rankTable(/* collective = */ true) == compare); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
| MPI_COMM_WORLD); | ||
| i.parseBase(); | ||
| REQUIRE(i.rankTable(/* collective = */ false) == compare); | ||
| // REQUIRE(i.rankTable(/* collective = */ false) == compare); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
| Access::READ_RANDOM_ACCESS, | ||
| MPI_COMM_WORLD); | ||
| REQUIRE(i.rankTable(/* collective = */ true) == compare); | ||
| // REQUIRE(i.rankTable(/* collective = */ true) == compare); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
| Access::READ_RANDOM_ACCESS, | ||
| MPI_COMM_WORLD); | ||
| REQUIRE(i.rankTable(/* collective = */ false) == compare); | ||
| // REQUIRE(i.rankTable(/* collective = */ false) == compare); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
| */ | ||
| auto rankMetaIn = series.rankTable(/* collective = */ true); | ||
| OPENPMD_REQUIRE_GUARD_WINDOWS(rankMetaIn == writingRanksHostnames); | ||
| // OPENPMD_REQUIRE_GUARD_WINDOWS(rankMetaIn == writingRanksHostnames); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
| TEST_CASE("adios2_chunk_distribution", "[parallel][adios2]") | ||
| { | ||
| adios2_chunk_distribution::run_test(); | ||
| // adios2_chunk_distribution::run_test(); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
| if (test_rank_table) | ||
| { | ||
| REQUIRE(read.rankTable(/* collective = */ false) == compare); | ||
| // REQUIRE(read.rankTable(/* collective = */ false) == compare); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
| << host << "'\n"; | ||
| } | ||
| REQUIRE(rank_table.size() == 1); | ||
| // REQUIRE(rank_table.size() == 1); |
Check notice
Code scanning / CodeQL
Commented-out code Note test
retrigger CI
da85ce0 to
682f996
Compare
This makes it easier to keep MPI processes in sync
These were unnecessary, but they snuck WRITE_ATT tasks into the skeleton flush.
not so great, but lets keep that for now
This reverts commit 6a5c9f5.
682f996 to
48b4c2a
Compare
It seems that HDF5 has become quite a bit pickier about metadata definitions in parallel setups with versions 2.0 and 2.1, leading to hangups.
Earlier, it was enough to define them consistently across ranks, now we apparently have to keep the exact same order of operations.
This is bad for the Span API which runs internal flushes for structure setup.
resetDataset()flushParticlesPathandflushMeshesPathfunctions, these unnecessarily leaked attribute flushes into the structure setup