From 58f3c40801aa22437f9ba4baba13f392a7e06a3c Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 7 May 2024 21:06:30 -0700 Subject: [PATCH 1/3] CI: Fix HIP Builds Add `hiprand-dev` package. --- .github/workflows/dependencies/dependencies_hip.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/dependencies/dependencies_hip.sh b/.github/workflows/dependencies/dependencies_hip.sh index d414ac9b..662c1b3f 100755 --- a/.github/workflows/dependencies/dependencies_hip.sh +++ b/.github/workflows/dependencies/dependencies_hip.sh @@ -31,6 +31,7 @@ sudo apt-get update sudo apt-get install -y --no-install-recommends \ build-essential \ gfortran \ + hiprand-dev \ libnuma-dev \ libopenmpi-dev \ openmpi-bin \ From 9295fa7fb171f11fc92acafe5ec21b45c0eee731 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 7 May 2024 21:14:24 -0700 Subject: [PATCH 2/3] Operator Names in ROCm --- .github/workflows/linux.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 0042084f..88c57b45 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -246,7 +246,7 @@ jobs: # ^ # /opt/rocm-4.1.1/hip/include/hip/hcc_detail/hip_runtime.h:176:9: note: macro 'select_impl_' defined here # #define select_impl_(_1, _2, impl_, ...) impl_ - env: {CXXFLAGS: "-fno-operator-names -Werror -Wall -Wextra -Wpedantic -Wnull-dereference -Wfloat-conversion -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wno-deprecated-declarations -Wno-gnu-zero-variadic-macro-arguments -Wno-pass-failed"} + env: {CXXFLAGS: "-Werror -Wall -Wextra -Wpedantic -Wnull-dereference -Wfloat-conversion -Wshadow -Woverloaded-virtual -Wextra-semi -Wunreachable-code -Wno-deprecated-declarations -Wno-gnu-zero-variadic-macro-arguments -Wno-pass-failed"} steps: - uses: actions/checkout@v3 - name: Dependencies From 8418fac1981dde55c8ca538b44b5f515d92c8131 Mon Sep 17 00:00:00 2001 From: Axel Huebl Date: Tue, 7 May 2024 21:45:29 -0700 Subject: [PATCH 3/3] `D_TERM` -> `AMREX_D_TERM` Fails CUDA builds. --- .../Particles/ElectromagneticPIC/Exec/CUDA/Evolve.cpp | 6 +++--- .../Particles/ElectromagneticPIC/Exec/OpenACC/Evolve.cpp | 6 +++--- .../Particles/ElectromagneticPIC/Exec/OpenMP/Evolve.cpp | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ExampleCodes/Particles/ElectromagneticPIC/Exec/CUDA/Evolve.cpp b/ExampleCodes/Particles/ElectromagneticPIC/Exec/CUDA/Evolve.cpp index d9ef6e4c..a9ca93e9 100644 --- a/ExampleCodes/Particles/ElectromagneticPIC/Exec/CUDA/Evolve.cpp +++ b/ExampleCodes/Particles/ElectromagneticPIC/Exec/CUDA/Evolve.cpp @@ -9,9 +9,9 @@ using namespace amrex; Real compute_dt(const Geometry& geom, const amrex::Real& cfl) { const Real* dx = geom.CellSize(); - const Real dt = cfl * 1./( std::sqrt(D_TERM( 1./(dx[0]*dx[0]), - + 1./(dx[1]*dx[1]), - + 1./(dx[2]*dx[2]))) * PhysConst::c ); + const Real dt = cfl * 1./( std::sqrt(AMREX_D_TERM( 1./(dx[0]*dx[0]), + + 1./(dx[1]*dx[1]), + + 1./(dx[2]*dx[2]))) * PhysConst::c ); return dt; } diff --git a/ExampleCodes/Particles/ElectromagneticPIC/Exec/OpenACC/Evolve.cpp b/ExampleCodes/Particles/ElectromagneticPIC/Exec/OpenACC/Evolve.cpp index 28075266..76cb34e7 100644 --- a/ExampleCodes/Particles/ElectromagneticPIC/Exec/OpenACC/Evolve.cpp +++ b/ExampleCodes/Particles/ElectromagneticPIC/Exec/OpenACC/Evolve.cpp @@ -8,9 +8,9 @@ using namespace amrex; Real compute_dt(const Geometry& geom, const amrex::Real& cfl) { const Real* dx = geom.CellSize(); - const Real dt = cfl * 1./( std::sqrt(D_TERM( 1./(dx[0]*dx[0]), - + 1./(dx[1]*dx[1]), - + 1./(dx[2]*dx[2]))) * PhysConst::c ); + const Real dt = cfl * 1./( std::sqrt(AMREX_D_TERM( 1./(dx[0]*dx[0]), + + 1./(dx[1]*dx[1]), + + 1./(dx[2]*dx[2]))) * PhysConst::c ); return dt; } diff --git a/ExampleCodes/Particles/ElectromagneticPIC/Exec/OpenMP/Evolve.cpp b/ExampleCodes/Particles/ElectromagneticPIC/Exec/OpenMP/Evolve.cpp index 28075266..76cb34e7 100644 --- a/ExampleCodes/Particles/ElectromagneticPIC/Exec/OpenMP/Evolve.cpp +++ b/ExampleCodes/Particles/ElectromagneticPIC/Exec/OpenMP/Evolve.cpp @@ -8,9 +8,9 @@ using namespace amrex; Real compute_dt(const Geometry& geom, const amrex::Real& cfl) { const Real* dx = geom.CellSize(); - const Real dt = cfl * 1./( std::sqrt(D_TERM( 1./(dx[0]*dx[0]), - + 1./(dx[1]*dx[1]), - + 1./(dx[2]*dx[2]))) * PhysConst::c ); + const Real dt = cfl * 1./( std::sqrt(AMREX_D_TERM( 1./(dx[0]*dx[0]), + + 1./(dx[1]*dx[1]), + + 1./(dx[2]*dx[2]))) * PhysConst::c ); return dt; }