#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: open
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Comment (by Erik Schnetter):
This works for me:
```c++
diff --git a/CarpetX/src/io_openpmd.cxx b/CarpetX/src/io_openpmd.cxx
index acdbf9f7..43f30a9d 100644
--- a/CarpetX/src/io_openpmd.cxx
+++ b/CarpetX/src/io_openpmd.cxx
@@ -16,6 +16,10 @@
#include <openPMD/openPMD.hpp>
+#ifdef HAVE_CAPABILITY_ADIOS2
+#include <adios2.h>
+#endif
+
#if defined _OPENMP
#include <omp.h>
#elif defined __HIPCC__
@@ -116,6 +120,7 @@ constexpr openPMD::IterationEncoding iterationEncoding =
openPMD::IterationEncoding::fileBased;
// TODO: Set number of threads?
+#ifdef ADIOS2_HAVE_BLOSC2
const std::string options = R"EOS(
{
"adios2": {
@@ -133,6 +138,18 @@ const std::string options = R"EOS(
}
}
)EOS";
+#else
+const std::string options = R"EOS(
+ {
+ "adios2": {
+ "dataset": {
+ "operators": [
+ ]
+ }
+ }
+ }
+)EOS";
+#endif
constexpr bool input_ghosts = false;
constexpr bool output_ghosts = false;
```
I the long term we would want to be able to use Cactus parameters to choose this…
If you prefer you can also just undo the changes that require Blosc.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…
#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: open
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
@{557058:56049c54-f8c2-4b6c-9b88-ab697c967495} comments?
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…
#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: open
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
The string is:
```
INFO (CarpetX): options:
{
"adios2": {
"dataset": {
"operators": [
{
"type": "blosc",
"parameters": {
"clevel": "9",
"doshuffle": "BLOSC_SHUFFLE"
}
}
]
}
}
}
Warning: ADIOS2 backend does not support compression method blosc. Continuing without compression.
```
\(if I fudge things to included it even though I don’t have blosc\). Note the extra empty lines 6 and 14.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…
#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: open
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
Thank you. Somewhat ugly unfortunately. 3 #ifdefs spread over the length of the file. Naturally this runs ok on my workstation.
I’ll push the change.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…
#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: open
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Comment (by Erik Schnetter):
I confirm that the solution is to handle the option string in `io_openpmd.cxx` in the same way as the Blosc options in `io_adios2.cxx`, i.e. to use an `#ifdef`.
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…
#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: open
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Changes (by Roland Haas):
status: open (was resolved)
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…
#2830: CarpetX depends on BLOSC support in ADIOS2 but BLOSC is not in the ET
Reporter: Roland Haas
Status: resolved
Milestone: ET_2024_11
Version:
Type: bug
Priority: blocker
Component: EinsteinToolkit thorn
Comment (by Roland Haas):
log file from Anvil testsuite run
--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2830/carpetx-depends-o…