Skip to content

Commit 9b821d4

Browse files
committed
Lower limit to 100
1 parent 100ef13 commit 9b821d4

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

docs/source/backends/adios2.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ environment variable default description
9191
``OPENPMD_ADIOS2_BP5_NumSubFiles`` ``0`` ADIOS2 BP5 engine: num of subfiles
9292
``OPENPMD_ADIOS2_BP5_NumAgg`` ``0`` ADIOS2 BP5 engine: num of aggregators
9393
``OPENPMD_ADIOS2_BP5_TypeAgg`` *empty* ADIOS2 BP5 engine: aggregation type. (EveryoneWrites, EveryoneWritesSerial, TwoLevelShm)
94-
``OPENPMD_BP5_GROUPENCODING_MAX_STEPS`` ``1000`` ADIOS2 BP5 engine: max number of allowed output steps in group encoding.
94+
``OPENPMD_BP5_GROUPENCODING_MAX_STEPS`` ``100`` ADIOS2 BP5 engine: max number of allowed output steps in group encoding.
9595
======================================= ========== ================================================================================
9696

9797
Please refer to the `ADIOS2 documentation <https://adios2.readthedocs.io/en/latest/engines/engines.html>`_ for details on I/O tuning.
@@ -314,7 +314,8 @@ The default is to flush to disk (except when specifying ``OPENPMD_ADIOS2_ASYNC_W
314314

315315

316316
The BP5 engine is known to perform extremely bad for group-based encoding with many Iterations, since its design assumes that the metadata structure will be constant across output steps, while group-based encoding will add new variables and attributes for each Iteration.
317-
The openPMD-api will hence cancel operation after 1000 written Iterations in group-based encoding for BP5, where experiments show that the metadata size may grow to an already large, but still manageable 1GB (tested for PIConGPU).
317+
The openPMD-api will hence cancel operation after 100 written Iterations in group-based encoding for BP5.
318+
Experiments with PIConGPU show that the metadata (!) size grows from 10MB to 1GB when going from 100 to 1000 output steps in this setup.
318319
The environment variable ``OPENPMD_BP5_GROUPENCODING_MAX_STEPS`` may be used to change this limit (specifying the limit as ``0`` will disable the check).
319320

320321
For workarounds you may follow these guidelines:

include/openPMD/IO/ADIOS/ADIOS2File.hpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ class ADIOS2File
429429
*/
430430
size_t m_currentStep = 0;
431431
bool useStepSelection = false;
432-
std::optional<size_t> m_max_steps_bp5 = std::make_optional<size_t>(1000);
432+
std::optional<size_t> m_max_steps_bp5 = std::make_optional<size_t>(100);
433433

434434
/*
435435
* ADIOS2 does not give direct access to its internal attribute and

0 commit comments

Comments
 (0)