From d10d2849c3607d23a4cd4e3031b9f49ce64f45ff Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Sat, 10 Aug 2024 19:54:11 -0700 Subject: [PATCH 1/5] AMReX: Weekly Update --- .github/workflows/cuda.yml | 2 +- Regression/WarpX-GPU-tests.ini | 2 +- Regression/WarpX-tests.ini | 2 +- cmake/dependencies/AMReX.cmake | 2 +- run_test.sh | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cuda.yml b/.github/workflows/cuda.yml index 95d9c148b97..da192784a21 100644 --- a/.github/workflows/cuda.yml +++ b/.github/workflows/cuda.yml @@ -131,7 +131,7 @@ jobs: which nvcc || echo "nvcc not in PATH!" git clone https://github.com/AMReX-Codes/amrex.git ../amrex - cd ../amrex && git checkout --detach 24.08 && cd - + cd ../amrex && git checkout --detach d9919c92db09ed9e927f9e4c7fb2ddcc161ab5ed && cd - make COMP=gcc QED=FALSE USE_MPI=TRUE USE_GPU=TRUE USE_OMP=FALSE USE_FFT=TRUE USE_CCACHE=TRUE -j 4 ccache -s diff --git a/Regression/WarpX-GPU-tests.ini b/Regression/WarpX-GPU-tests.ini index 7d111741389..f94e18fca13 100644 --- a/Regression/WarpX-GPU-tests.ini +++ b/Regression/WarpX-GPU-tests.ini @@ -60,7 +60,7 @@ emailBody = Check https://ccse.lbl.gov/pub/GpuRegressionTesting/WarpX/ for more [AMReX] dir = /home/regtester/git/amrex/ -branch = 24.08 +branch = d9919c92db09ed9e927f9e4c7fb2ddcc161ab5ed [source] dir = /home/regtester/git/WarpX diff --git a/Regression/WarpX-tests.ini b/Regression/WarpX-tests.ini index 8e08344f873..f860fabdf12 100644 --- a/Regression/WarpX-tests.ini +++ b/Regression/WarpX-tests.ini @@ -59,7 +59,7 @@ emailBody = Check https://ccse.lbl.gov/pub/RegressionTesting/WarpX/ for more det [AMReX] dir = /home/regtester/AMReX_RegTesting/amrex/ -branch = 24.08 +branch = d9919c92db09ed9e927f9e4c7fb2ddcc161ab5ed [source] dir = /home/regtester/AMReX_RegTesting/warpx diff --git a/cmake/dependencies/AMReX.cmake b/cmake/dependencies/AMReX.cmake index 39d88010517..426cf53a1a2 100644 --- a/cmake/dependencies/AMReX.cmake +++ b/cmake/dependencies/AMReX.cmake @@ -273,7 +273,7 @@ set(WarpX_amrex_src "" set(WarpX_amrex_repo "https://github.com/AMReX-Codes/amrex.git" CACHE STRING "Repository URI to pull and build AMReX from if(WarpX_amrex_internal)") -set(WarpX_amrex_branch "24.08" +set(WarpX_amrex_branch "d9919c92db09ed9e927f9e4c7fb2ddcc161ab5ed" CACHE STRING "Repository branch for WarpX_amrex_repo if(WarpX_amrex_internal)") diff --git a/run_test.sh b/run_test.sh index 11360673b63..9bbbaa27177 100755 --- a/run_test.sh +++ b/run_test.sh @@ -72,7 +72,7 @@ python3 -m pip cache purge # Clone AMReX and warpx-data git clone https://github.com/AMReX-Codes/amrex.git -cd amrex && git checkout --detach 24.08 && cd - +cd amrex && git checkout --detach d9919c92db09ed9e927f9e4c7fb2ddcc161ab5ed && cd - # warpx-data contains various required data sets git clone --depth 1 https://github.com/ECP-WarpX/warpx-data.git # openPMD-example-datasets contains various required data sets From cb8adc55d135747c7ea3a4062db6ee60a0507f2f Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Sat, 10 Aug 2024 19:54:48 -0700 Subject: [PATCH 2/5] pyAMReX: Weekly Update --- cmake/dependencies/pyAMReX.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/dependencies/pyAMReX.cmake b/cmake/dependencies/pyAMReX.cmake index 020502d9921..0b8750333e6 100644 --- a/cmake/dependencies/pyAMReX.cmake +++ b/cmake/dependencies/pyAMReX.cmake @@ -79,7 +79,7 @@ option(WarpX_pyamrex_internal "Download & build pyAMReX" ON) set(WarpX_pyamrex_repo "https://github.com/AMReX-Codes/pyamrex.git" CACHE STRING "Repository URI to pull and build pyamrex from if(WarpX_pyamrex_internal)") -set(WarpX_pyamrex_branch "24.08" +set(WarpX_pyamrex_branch "abdf332e25bfeef2b4d613d7adbe93fb8cf3e2f7" CACHE STRING "Repository branch for WarpX_pyamrex_repo if(WarpX_pyamrex_internal)") From bdf291d2c7b2dde247702ae10dd0b3bfc2547dcc Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 30 Jul 2024 15:28:48 -0700 Subject: [PATCH 3/5] AMReX: `int` Index Type for Bins Binning functions are refactored from `unsigned int` to `int` in https://github.com/AMReX-Codes/amrex/pull/3684 for performance reasons. This updates our usage to reflect the changes. --- Source/Particles/Resampling/VelocityCoincidenceThinning.H | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Source/Particles/Resampling/VelocityCoincidenceThinning.H b/Source/Particles/Resampling/VelocityCoincidenceThinning.H index bb325734777..a815092e03e 100644 --- a/Source/Particles/Resampling/VelocityCoincidenceThinning.H +++ b/Source/Particles/Resampling/VelocityCoincidenceThinning.H @@ -123,7 +123,7 @@ public: void labelOnSphericalVelocityGrid (const amrex::ParticleReal ux[], const amrex::ParticleReal uy[], const amrex::ParticleReal uz[], - const unsigned int indices[], + const int indices[], int bin_array[], int index_array[], const int cell_start, const int cell_stop ) const { @@ -151,7 +151,7 @@ public: void labelOnCartesianVelocityGrid (const amrex::ParticleReal ux[], const amrex::ParticleReal uy[], const amrex::ParticleReal uz[], - const unsigned int indices[], + const int indices[], int bin_array[], int index_array[], const int cell_start, const int cell_stop ) const { @@ -168,7 +168,7 @@ public: AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE void operator() (const amrex::ParticleReal ux[], const amrex::ParticleReal uy[], - const amrex::ParticleReal uz[], const unsigned int indices[], + const amrex::ParticleReal uz[], const int indices[], int bin_array[], int index_array[], const int cell_start, const int cell_stop) const { From 98b42be898e503df28adc6a4c1d3997f04353b89 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 13 Aug 2024 12:55:54 -0700 Subject: [PATCH 4/5] `ref_ratios.size()` -> `max_level` Address a breaking change in AMReX. --- Source/Parallelization/GuardCellManager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Parallelization/GuardCellManager.cpp b/Source/Parallelization/GuardCellManager.cpp index 4c2f978484d..c8c0ff40acf 100644 --- a/Source/Parallelization/GuardCellManager.cpp +++ b/Source/Parallelization/GuardCellManager.cpp @@ -101,9 +101,9 @@ guardCellManager::Init ( // the fine grid by a number of cells equal to the ref_ratio in the moving // window direction. if (do_moving_window) { - WARPX_ALWAYS_ASSERT_WITH_MESSAGE(ref_ratios.size() <= 1, + WARPX_ALWAYS_ASSERT_WITH_MESSAGE(max_level <= 1, "The number of grow cells for the moving window currently assumes 2 levels max."); - const auto nlevs = static_cast(ref_ratios.size()+1); + const auto nlevs = static_cast(max_level+1); const int max_r = (nlevs > 1) ? ref_ratios[0][moving_window_dir] : 2; ngx = std::max(ngx,max_r); From 0cc72dc9fb335d598c1b86c9f253753a94294f2f Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Thu, 15 Aug 2024 14:37:04 -0700 Subject: [PATCH 5/5] Update ThetaImplicitPicard_1d,SemiImplicitPicard_1d AMReX default change: `amr.max_grid_size` is 64 from 32 now. Since these tests are run with 2 MPI ranks, ensure we have at least one box per MPI rank. Instead of 20=40/2 set again to 32, to keep checksums the same. --- Regression/WarpX-tests.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Regression/WarpX-tests.ini b/Regression/WarpX-tests.ini index f860fabdf12..f422a55b259 100644 --- a/Regression/WarpX-tests.ini +++ b/Regression/WarpX-tests.ini @@ -3824,7 +3824,7 @@ analysisRoutine = Examples/Tests/point_of_contact_EB/analysis.py [ThetaImplicitPicard_1d] buildDir = . inputFile = Examples/Tests/Implicit/inputs_1d -runtime_params = warpx.abort_on_warning_threshold=high +runtime_params = warpx.abort_on_warning_threshold=high amr.max_grid_size=32 dim = 1 addToCompileString = cmakeSetupOpts = -DWarpX_DIMS=1 @@ -3868,7 +3868,7 @@ analysisRoutine = Examples/Tests/Implicit/analysis_vandb_jfnk_2d.py [SemiImplicitPicard_1d] buildDir = . inputFile = Examples/Tests/Implicit/inputs_1d_semiimplicit -runtime_params = warpx.abort_on_warning_threshold=high +runtime_params = warpx.abort_on_warning_threshold=high amr.max_grid_size=32 dim = 1 addToCompileString = cmakeSetupOpts = -DWarpX_DIMS=1