Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 22 additions & 16 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ jobs:
# FIXME remove unused variables
variables:
BLASPP_HOME: '/usr/local'
CDASH_SITE: 'Azure'
CEI_SUDO: 'sudo'
CEI_TMP: '/tmp/cei'
CMAKE_GENERATOR: 'Ninja'
Expand Down Expand Up @@ -184,17 +185,16 @@ jobs:
set -o nounset errexit pipefail
# display disk space usage
df -h
# configure
# configure and build through CTest, so that CDash records their timings
# as well as compiler warnings and errors
export AMReX_CMAKE_FLAGS="-DAMReX_ASSERTIONS=ON -DAMReX_TESTING=ON"
export WARPX_TEST_FLAGS="-DWarpX_TEST_CLEANUP=ON -DWarpX_TEST_FPETRAP=ON -DWarpX_BACKTRACE_INFO=ON"
cmake -S . -B build \
-DBUILDNAME="${CDASH_BUILD_NAME}" \
-DSITE=Azure \
# CTest builds via `cmake --build`, which has no -j of its own
export CMAKE_BUILD_PARALLEL_LEVEL=2
Tools/CI/ctest_dashboard.sh build \
${AMReX_CMAKE_FLAGS} \
${WARPX_CMAKE_FLAGS} \
${WARPX_TEST_FLAGS}
# build
cmake --build build -j 2
displayName: 'Build'

- bash: |
Expand All @@ -210,18 +210,24 @@ jobs:
# allow oversubscription for Open MPI 4 and 5
export OMPI_MCA_rmaps_base_oversubscribe=1
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe
# determine if the build was triggered by a push to the development branch
if [[ "$(Build.SourceBranch)" == "refs/heads/development" ]]; then
# run tests (exclude pytest.AMReX when running Python tests)
# and submit results to CDash as Experimental
ctest --test-dir build --output-on-failure -E AMReX \
-D ExperimentalTest -D ExperimentalSubmit
else
# run tests (exclude pytest.AMReX when running Python tests)
ctest --test-dir build --output-on-failure -E AMReX
fi
# run tests (exclude pytest.AMReX when running Python tests)
ctest --test-dir build --output-on-failure -E AMReX -D ExperimentalTest
displayName: 'Test'

# Upload Configure.xml, Build.xml and Test.xml as one CDash build. This runs
# even when the build or the tests failed, which is exactly what the dashboard
# should show. Only merges to `development` are submitted; PR pipelines write
# the XML but keep it.
- bash: |
set -o nounset errexit pipefail
# DartConfiguration.tcl is missing when the configure died before
# include(CTest); the driver script has already submitted in that case.
if [[ "$(Build.SourceBranch)" == "refs/heads/development" && -f build/DartConfiguration.tcl ]]; then
ctest --test-dir build -D ExperimentalSubmit
fi
displayName: 'CDash Submit'
condition: always()

- bash: |
# set options
set -o nounset errexit pipefail
Expand Down
23 changes: 16 additions & 7 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-cuda
cancel-in-progress: true

# Configure and build through CTest, so that CDash records their timings as well
# as compiler warnings and errors. Only merges to `development` are submitted;
# PR runs produce the XML locally and drop it.
env:
CDASH_SITE: GitHub-Actions
CDASH_SUBMIT: ${{ github.event_name == 'push' && github.ref == 'refs/heads/development' && 'ON' || 'OFF' }}

jobs:

check_changes:
Expand All @@ -25,6 +32,8 @@ jobs:
env:
CXXFLAGS: "-Werror"
CMAKE_GENERATOR: Ninja
CDASH_BUILD_NAME: Linux-NVCC-3D-SP
CMAKE_BUILD_PARALLEL_LEVEL: 3
steps:
- name: Free More Disk Space
uses: ax3l/free-disk-space@main
Expand Down Expand Up @@ -83,7 +92,7 @@ jobs:
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64:${LD_LIBRARY_PATH}
which nvcc || echo "nvcc not in PATH!"

cmake -S . -B build_sp \
Tools/CI/ctest_dashboard.sh build_sp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_COMPUTE=CUDA \
-DWarpX_EB=ON \
Expand All @@ -95,7 +104,6 @@ jobs:
-DWarpX_FFT=ON \
-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON \
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON
cmake --build build_sp -j 3

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build packaging setuptools[core] wheel
Expand Down Expand Up @@ -161,9 +169,11 @@ jobs:
runs-on: ubuntu-24.04
needs: check_changes
if: ${{ github.event.pull_request.draft == false && needs.check_changes.outputs.has_non_docs_changes == 'true' }}
#env:
# # For NVHPC, Ninja is slower than the default:
# CMAKE_GENERATOR: Ninja
env:
CDASH_BUILD_NAME: Linux-NVHPC-3D
CMAKE_BUILD_PARALLEL_LEVEL: 4
# For NVHPC, Ninja is slower than the default:
#CMAKE_GENERATOR: Ninja
steps:
- name: Free More Disk Space
uses: ax3l/free-disk-space@main
Expand Down Expand Up @@ -208,7 +218,7 @@ jobs:
export CUDACXX=$(which nvcc)
export CUDAHOSTCXX=${CXX}

cmake -S . -B build \
Tools/CI/ctest_dashboard.sh build \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_COMPUTE=CUDA \
-DWarpX_EB=ON \
Expand All @@ -218,7 +228,6 @@ jobs:
-DWarpX_FFT=ON \
-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON \
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON
cmake --build build -j 4

# work-around for mpi4py 3.1.1 build system issue with using
# a GNU-built Python executable with non-GNU Python modules
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/hip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-hip
cancel-in-progress: true

# Configure and build through CTest, so that CDash records their timings as well
# as compiler warnings and errors. Only merges to `development` are submitted;
# PR runs produce the XML locally and drop it.
env:
CDASH_SITE: GitHub-Actions
CDASH_SUBMIT: ${{ github.event_name == 'push' && github.ref == 'refs/heads/development' && 'ON' || 'OFF' }}

jobs:

check_changes:
Expand All @@ -23,6 +30,8 @@ jobs:
env:
CXXFLAGS: "-Werror -Wno-deprecated-declarations -Wno-error=pass-failed"
CMAKE_GENERATOR: Ninja
CDASH_BUILD_NAME: Linux-HIP-3D-SP
CMAKE_BUILD_PARALLEL_LEVEL: 4
needs: check_changes
if: ${{ github.event.pull_request.draft == false && needs.check_changes.outputs.has_non_docs_changes == 'true' }}
steps:
Expand Down Expand Up @@ -52,7 +61,7 @@ jobs:
export CXX=$(which clang++)
export CC=$(which clang)

cmake -S . -B build_sp \
Tools/CI/ctest_dashboard.sh build_sp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DAMReX_AMD_ARCH=gfx900 \
-DWarpX_COMPUTE=HIP \
Expand All @@ -62,7 +71,6 @@ jobs:
-DWarpX_OPENPMD=ON \
-DWarpX_PRECISION=SINGLE \
-DWarpX_FFT=ON
cmake --build build_sp -j 4

export WARPX_MPI=OFF
export PYWARPX_LIB_DIR=$PWD/build_sp/lib/site-packages/pywarpx/
Expand All @@ -78,6 +86,8 @@ jobs:
env:
CXXFLAGS: "-Werror -Wno-deprecated-declarations -Wno-error=pass-failed"
CMAKE_GENERATOR: Ninja
CDASH_BUILD_NAME: Linux-HIP-2D-DP
CMAKE_BUILD_PARALLEL_LEVEL: 4
needs: check_changes
if: ${{ github.event.pull_request.draft == false && needs.check_changes.outputs.has_non_docs_changes == 'true' }}
steps:
Expand Down Expand Up @@ -107,7 +117,7 @@ jobs:
export CXX=$(which clang++)
export CC=$(which clang)

cmake -S . -B build_2d \
Tools/CI/ctest_dashboard.sh build_2d \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DAMReX_AMD_ARCH=gfx900 \
-DWarpX_DIMS=2 \
Expand All @@ -118,7 +128,6 @@ jobs:
-DWarpX_OPENPMD=ON \
-DWarpX_PRECISION=DOUBLE \
-DWarpX_FFT=ON
cmake --build build_2d -j 4

export WARPX_MPI=OFF
export PYWARPX_LIB_DIR=$PWD/build_2d/lib/site-packages/pywarpx/
Expand Down
26 changes: 15 additions & 11 deletions .github/workflows/insitu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-insituvis
cancel-in-progress: true

# Configure and build through CTest, so that CDash records their timings as well
# as compiler warnings and errors. Only merges to `development` are submitted;
# PR runs produce the XML locally and drop it.
env:
CDASH_SITE: GitHub-Actions
CDASH_SUBMIT: ${{ github.event_name == 'push' && github.ref == 'refs/heads/development' && 'ON' || 'OFF' }}

jobs:

check_changes:
Expand All @@ -27,20 +34,18 @@ jobs:
CC: gcc
CMAKE_PREFIX_PATH: /ascent/install/lib/cmake/
OMP_NUM_THREADS: 1
CDASH_BUILD_NAME: Linux-GCC-Ascent
CMAKE_BUILD_PARALLEL_LEVEL: 4
container:
image: alpinedav/ascent:0.9.3
steps:
- uses: actions/checkout@v7
- name: Configure
- name: Configure & Build
run: |
. /ascent_docker_setup_env.sh
cmake -S . -B build \
Tools/CI/ctest_dashboard.sh build \
-DWarpX_ASCENT=ON \
-DWarpX_COMPUTE=NOACC
- name: Build
run: |
. /ascent_docker_setup_env.sh
cmake --build build -j 4
- name: Test
run: |
cp Examples/Physics_applications/laser_acceleration/inputs_base_3d .
Expand Down Expand Up @@ -70,21 +75,20 @@ jobs:
CATALYST_DEBUG: 1
CATALYST_IMPLEMENTATION_PATHS: /opt/paraview/lib/catalyst
OMP_NUM_THREADS: 1
CDASH_BUILD_NAME: Linux-GCC-Catalyst-2D3D
CMAKE_BUILD_PARALLEL_LEVEL: 10

# Container build scripts:
# https://gitlab.kitware.com/christos.tsolakis/catalyst-amrex-docker-images
container:
image: kitware/paraview:ci-catalyst-amrex-warpx-20240828
steps:
- uses: actions/checkout@v7
- name: Configure
- name: Configure & Build
run: |
cmake -S . -B build \
Tools/CI/ctest_dashboard.sh build \
-DWarpX_DIMS="2;3" \
-DWarpX_CATALYST=ON
- name: Build
run: |
cmake --build build -j 10
- name: 2D Test
run: |
cp Examples/Tests/field_ionization/inputs_test_2d_ionization_lab .
Expand Down
17 changes: 13 additions & 4 deletions .github/workflows/intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-intel
cancel-in-progress: true

# Configure and build through CTest, so that CDash records their timings as well
# as compiler warnings and errors. Only merges to `development` are submitted;
# PR runs produce the XML locally and drop it.
env:
CDASH_SITE: GitHub-Actions
CDASH_SUBMIT: ${{ github.event_name == 'push' && github.ref == 'refs/heads/development' && 'ON' || 'OFF' }}

jobs:

check_changes:
Expand All @@ -25,6 +32,8 @@ jobs:
# https://github.com/BLAST-WarpX/warpx/issues/3442
env:
CXXFLAGS: "-Werror -Wno-deprecated -Wno-error=pass-failed -Wno-tautological-constant-compare"
CDASH_BUILD_NAME: Linux-ICX-3D-SP
CMAKE_BUILD_PARALLEL_LEVEL: 4
# For oneAPI, Ninja is slower than the default:
# CMAKE_GENERATOR: Ninja
needs: check_changes
Expand Down Expand Up @@ -60,14 +69,13 @@ jobs:
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build packaging setuptools[core] wheel

cmake -S . -B build_sp \
Tools/CI/ctest_dashboard.sh build_sp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_EB=OFF \
-DWarpX_PYTHON=ON \
-DWarpX_MPI=OFF \
-DWarpX_OPENPMD=ON \
-DWarpX_PRECISION=SINGLE
cmake --build build_sp -j 4
cmake --build build_sp --target pip_install

ccache -s
Expand All @@ -89,6 +97,8 @@ jobs:
# https://github.com/BLAST-WarpX/warpx/issues/3442
env:
CXXFLAGS: "-Werror -Wno-deprecated -Wno-tautological-constant-compare"
CDASH_BUILD_NAME: Linux-SYCL-3D-MP
CMAKE_BUILD_PARALLEL_LEVEL: 4
# For oneAPI, Ninja is slower than the default:
# CMAKE_GENERATOR: Ninja
needs: check_changes
Expand Down Expand Up @@ -122,7 +132,7 @@ jobs:
export CC=$(which icx)
export CXXFLAGS="-fsycl ${CXXFLAGS}"

cmake -S . -B build_dpsp \
Tools/CI/ctest_dashboard.sh build_dpsp \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_COMPUTE=SYCL \
Expand All @@ -136,7 +146,6 @@ jobs:
-DWarpX_OPENPMD=ON \
-DWarpX_PRECISION=DOUBLE \
-DWarpX_PARTICLE_PRECISION=SINGLE
cmake --build build_dpsp -j 4

ccache -s
du -hs ~/.cache/ccache
Expand Down
16 changes: 12 additions & 4 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-macos
cancel-in-progress: true

# Configure and build through CTest, so that CDash records their timings as well
# as compiler warnings and errors. Only merges to `development` are submitted;
# PR runs produce the XML locally and drop it.
env:
CDASH_SITE: GitHub-Actions
CDASH_SUBMIT: ${{ github.event_name == 'push' && github.ref == 'refs/heads/development' && 'ON' || 'OFF' }}

jobs:

check_changes:
Expand All @@ -24,6 +31,7 @@ jobs:
if: ${{ github.event.pull_request.draft == false && needs.check_changes.outputs.has_non_docs_changes == 'true' }}
env:
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: TRUE
CMAKE_BUILD_PARALLEL_LEVEL: 3
# For macOS, Ninja is slower than the default:
#CMAKE_GENERATOR: Ninja
steps:
Expand Down Expand Up @@ -73,21 +81,21 @@ jobs:

export CXXFLAGS="-Werror -Wno-error=pass-failed -Wno-error=c++23-attribute-extensions"

cmake -S . -B build_dp \
CDASH_BUILD_NAME=macOS-AppleClang-3D-DP \
Tools/CI/ctest_dashboard.sh build_dp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_EB=OFF \
-DWarpX_OPENPMD=ON \
-DWarpX_openpmd_internal=OFF
cmake --build build_dp -j 3

cmake -S . -B build_sp \
CDASH_BUILD_NAME=macOS-AppleClang-3D-SP \
Tools/CI/ctest_dashboard.sh build_sp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_EB=OFF \
-DWarpX_PYTHON=ON \
-DWarpX_OPENPMD=ON \
-DWarpX_openpmd_internal=OFF \
-DWarpX_PRECISION=SINGLE
cmake --build build_sp -j 3
cmake --build build_sp --target pip_install

du -hs ~/Library/Caches/ccache
Expand Down
Loading
Loading