Skip to content

Commit

Permalink
Merge from main (#7)
Browse files Browse the repository at this point in the history
* CI: Update to AMReX 24.09

* Arith: Implement efficient SIMD trigonometic functions

* Arith: Correct SIMD tests

* Arith: Correct SIMD tests

* Arith: Remove `constexpr` that some compilers don't like

* Arith: Remove `constexpr` that some compilers don't like

* TestDerivs: Correct C++ calls to trigonometic functions

* CI: Disable SIMD the new way

* CI: Update Docker images

* CI: Correct Docker image names

* CarpetX: Update to nvtx3

* CI: Reduce optimization level for OneAPI

* CI: Switch to production images

* CarpetXRegrid: Move regrid_error to a new thorn.

* CI: Add CarpetXRegrid to thorn list

* CarpetX: Change the implementation to Driver

This involves adding a parameter "periodic" whose default value is "no."
It also involves modifying parameter files, file names, and source files
where the name "CarpetX" needs to be replaced by "Driver."

* Algo: remove parameter file and changing data from test output

* BenchX: sort thorns alphabetically

* BenchX: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* BoxInBox: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* ErrorEstimator: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* FluxWaveToyX: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* MovingBoxToy: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* PoissonX: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* SiMDWaveToyX: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* SpacetimeWaveToyX: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* StaggeredWaveToyX: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* TestArrayGroup: remove parameter file and changing data from test output

* TestBoundaries: adapt to moving regrid error into its own thorn

* TestBoxInBox: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* TestDerivs: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* TestInterpolate: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* TestLoopX: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* TestNorms: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* TestODESolvers: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* TestODESolvers2: remove parameter file and changing data from test output

* TestOutput: adapt to moving regrid error into its own thorn

* TestProlongate: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* TestSymmetries: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* WaveToyX: adapt to CarpetX implementation change

required due to CarpetX implemting "Driver"

* ODESolvers: Schedule `ODESolvers_PostStep` after recovering

* Loop: Update AMReX include files

* ADMBaseX: Clean up schedule

* HydroBaseX: Clean up schedule

* CarpetX: Correct ENO operators

* CarpetX: Correct ENO operators

* CarpetX: Correct poison check on HIP systems

* CarpetX: Implement `minmod` prolongation operator

* CarpetX: Support openPMD_api 0.16.0

* CarpetX: Use Blosc compression by default for openPMD output

* CarpetX: Reformat code

* CarpetX: ADIOS2: Avoid too much screen output

* CarpetX: ADIOS2: Use Blosc compression by default

* Arith: Clean up code

* BoxInBox: Don't allow zero radius

* Loop: Inline more aggressively

* MovingBoxToy: Code cleanup

* TestSymmetries: Beautify code

* Loop: New macro CCTK_KERNEL

* CI: Update Docker images

* FluxWaveToyX: Correct RHS handling after ODESolver update

* SIMDWaveToyX: Correct RHS handling after ODESolver update

* WaveToyX: Correct RHS handling after ODESolver update

* StaggeredWaveToyX: Correct RHS handling after ODESolver update

* CI: Update Docker images to AMReX 24.11

* FluxWaveToyX: Correct schedule and test output

* TestODESolvers: Correct schedule

* TestProlongate: Remove unsupporte 1st-order ENO operators

* CarpetX: only use BLOSC2 if compiled into ADIOS2 (EinsteinToolkit#314)

* CarpetX: Reduce termination condition

Reduce the final termination condition, not just the run time. This guarantees that all processes will terminate at the same iteration.

* CarpetX: Correct error check in interpolator

* CarpetX: Simplify error output in interpolator

* CarpetX: Slight performance improvement in interpolator

* CarpetX: Improve safety/reduce warnings in interpolator

* TestInterpolate: Test cell-centred interpolation

* Loop: explicitly create function args to avoid compiler issue

* CarpetX: remove blosc compression from OpenPMD string options

* CarpetX: disable BLOSC in runtime options if ADIOS2 does not support it

* Revert "CarpetX: remove blosc compression from OpenPMD string options" (EinsteinToolkit#322)

This reverts commit a5ef84c.

---------

Co-authored-by: Erik Schnetter <[email protected]>
Co-authored-by: Steven R. Brandt <[email protected]>
Co-authored-by: Roland Haas <[email protected]>
Co-authored-by: Erik Schnetter <[email protected]>
  • Loading branch information
5 people authored Dec 17, 2024
1 parent 33d200c commit 7d90bfe
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
3 changes: 0 additions & 3 deletions CarpetX/param.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -95,14 +95,11 @@ BOOLEAN periodic_z "Periodic boundary conditions in z-direction"
"no" :: "not periodic in z direction"
} "yes"

RESTRICTED:

BOOLEAN use_subcycling_wip "Use subcycling in time"
{
} "no"



PRIVATE:

BOOLEAN reflection_x "Reflection symmetry at the lower x boundary"
Expand Down
17 changes: 17 additions & 0 deletions CarpetX/src/io_openpmd.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -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__
Expand Down Expand Up @@ -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": {
Expand All @@ -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;
Expand Down

0 comments on commit 7d90bfe

Please sign in to comment.