From f2db458a0ca13cd7711ff60faf4a6ab9f7a12995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franz=20P=C3=B6schel?= Date: Wed, 18 Oct 2023 11:58:17 +0200 Subject: [PATCH] More detailed warning message --- src/IO/ADIOS/ADIOS2IOHandler.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/IO/ADIOS/ADIOS2IOHandler.cpp b/src/IO/ADIOS/ADIOS2IOHandler.cpp index 0b392810ce..0737720660 100644 --- a/src/IO/ADIOS/ADIOS2IOHandler.cpp +++ b/src/IO/ADIOS/ADIOS2IOHandler.cpp @@ -501,9 +501,17 @@ ADIOS2IOHandlerImpl::flush(internal::ParsedFlushParams &flushParams) static constexpr char const *warningADIOS2NoGroupbasedEncoding = &R"( [Warning] Use of group-based encoding in ADIOS2 is discouraged as it can lead -to drastic performance issues, especially when **not** used in conjunction with -IO steps. -We advise you to pick either file-based encoding or variable-based +to drastic performance issues, no matter if I/O steps are used or not. + +* If not using I/O steps: A crash will corrupt all data since there is only + one atomic logical write operation upon closing the file. + Memory performance can be pathological depending on the setup. +* If using I/O steps: Each step will add new variables and attributes instead + of reusing those from earlier steps. ADIOS2 is not optimized for this and + especially the BP5 engine will show a quadratic increase in metadata size + as the number of steps increase. +We advise you to pick either file-based encoding or variable-based encoding +(variable-based encoding is not yet feature-complete in the openPMD-api). iteration encoding for use with ADIOS2. For more details, refer to https://openpmd-api.readthedocs.io/en/latest/usage/concepts.html#iteration-and-series)"