Skip to content

Commit

Permalink
Merge branch 'development' into implicit_add_filtering_redo
Browse files Browse the repository at this point in the history
  • Loading branch information
dpgrote committed Nov 3, 2024
2 parents 61e0af4 + 548a890 commit 7441110
Show file tree
Hide file tree
Showing 597 changed files with 14,958 additions and 10,284 deletions.
11 changes: 7 additions & 4 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,16 @@
pool:
vmImage: 'ubuntu-20.04'

trigger:
branches:
include:
- development
pr:
autoCancel: true
drafts: false
paths:
exclude:
- Docs

jobs:
- job:
Expand Down Expand Up @@ -36,10 +43,6 @@ jobs:
cylindrical_rz:
WARPX_CMAKE_FLAGS: -DWarpX_DIMS=RZ -DWarpX_FFT=ON -DWarpX_PYTHON=ON
WARPX_RZ_FFT: 'TRUE'
# embedded boundaries
embedded_boundaries:
WARPX_CMAKE_FLAGS: -DWarpX_DIMS='1;2;3;RZ' -DWarpX_FFT=ON -DWarpX_PYTHON=ON -DWarpX_EB=ON
WARPX_RZ_FFT: 'TRUE'
# single precision
#single_precision:
# WARPX_CMAKE_FLAGS: -DWarpX_DIMS='1;2;3;RZ' -DWarpX_FFT=ON -DWarpX_PYTHON=ON -DWarpX_PRECISION=SINGLE
Expand Down
58 changes: 58 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
name: Bug report
about: Report a bug or unexpected behavior.
labels: [bug]
---

_Please remove any sensitive information (e.g., passwords, API keys) from your submission.
Please check the relevant boxes and fill in the specific versions or details for the relevant items.
Thank you for taking the time to report this issue. We will respond as soon as possible._

## Description
A clear and concise description of the bug.

## Expected behavior
What did you expect to happen when you encountered the issue?

## How to reproduce
Please provide (if available):
- WarpX inputs files
- PICMI Python files
- Python post-processing scripts

If you are unable to provide certain files or scripts, please describe the steps you took to encounter the issue.

Please minimize your inputs/scripts to be concise and focused on the issue.
For instance, make the simulation scripts as small and fast to run as possible.

## System information
Please check all relevant boxes and provide details.

- Operating system (name and version):
- [ ] Linux: e.g., Ubuntu 22.04 LTS
- [ ] macOS: e.g., macOS Monterey 12.4
- [ ] Windows: e.g., Windows 11 Pro
- Version of WarpX: e.g., latest, 24.10, etc.
- Installation method:
- [ ] Conda
- [ ] Spack
- [ ] PyPI
- [ ] Brew
- [ ] From source with CMake
- [ ] Module system on an HPC cluster
- Other dependencies: yes/no, describe
- Computational resources:
- [ ] MPI: e.g., 2 MPI processes
- [ ] OpenMP: e.g., 2 OpenMP threads
- [ ] CPU: e.g., 2 CPUs
- [ ] GPU: e.g., 2 GPUs (NVIDIA, AMD, etc.)

If you encountered the issue on an HPC cluster, please check our [HPC documentation](https://warpx.readthedocs.io/en/latest/install/hpc.html) to see if your HPC cluster is already supported.

## Steps taken so far
What troubleshooting steps have you taken so far, and what were the results?

Have you tried compiling and running in debug mode, following the instructions in our [debugging documentation](https://warpx.readthedocs.io/en/latest/usage/workflows/debugging.html)?

## Additional information
If applicable, please add any additional information that may help explain the issue, such as log files (e.g., build logs, error logs, etc.), error messages (e.g., compiler errors, runtime errors, etc.), screenshots, or other relevant details.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: true
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
name: Feature request
about: Suggest a new feature or enhancement.
labels: [enhancement]
---

_Please remove any sensitive information (e.g., passwords, API keys) from your submission.
Please check the relevant boxes and fill in the specific versions or details for the relevant items.
Thank you for taking the time to report this issue. We will respond as soon as possible._

## Context and motivation
Please provide a clear and concise description of the context that is prompting you to request a new feature. What problem are you trying to solve, and how will this feature help you achieve your goals?

## Proposed feature
Describe the feature you would like to add to WarpX in detail. Please include:
- A clear and concise description of the feature
- Any relevant technical requirements or specifications
- How you envision the feature being used

## Alternative solutions
Have you considered any alternative solutions or features that could achieve the same goal? If so, please describe them and explain why you believe the proposed feature is the best solution.

## Additional information
If applicable, please provide any additional information that may be relevant to the feature request, such as:
- Links to existing codes or implementations
- References to relevant publications or research
- Any specific use cases or scenarios where the feature would be particularly useful
49 changes: 49 additions & 0 deletions .github/ISSUE_TEMPLATE/installation-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
name: Installation issue
about: Report an issue with installing or setting up WarpX
labels: [install]
---

_Please remove any sensitive information (e.g., passwords, API keys) from your submission.
Please check the relevant boxes and fill in the specific versions or details for the relevant items.
Thank you for taking the time to report this issue. We will respond as soon as possible._

## Description
A clear and concise description of the issue.

## System information
- Operating system (name and version):
- [ ] Linux: e.g., Ubuntu 22.04 LTS
- [ ] macOS: e.g., macOS Monterey 12.4
- [ ] Windows: e.g., Windows 11 Pro
- Version of WarpX: e.g., latest, 24.10, etc.
- Installation method:
- [ ] Conda
- [ ] Spack
- [ ] PyPI
- [ ] Brew
- [ ] From source with CMake
- [ ] Module system on an HPC cluster
- Other dependencies: yes/no, describe
- Computational resources:
- [ ] CPU
- [ ] GPU: e.g., NVIDIA, AMD, etc.

If you encountered the issue on an HPC cluster, please check our [HPC documentation](https://warpx.readthedocs.io/en/latest/install/hpc.html) to see if your HPC cluster is already supported.

If you encountered the issue installing from source with CMake, please provide the output of the following steps:
1. buildsystem generation: output of `cmake --fresh -S . -B build` (include your specific build options, e.g., `-DWarpX_DIMS=3`)
2. project build: output of `cmake --build build` (include your specific build options, e.g., `-j 4`)

If applicable, please add any additional information about your software environment:
- [ ] CMake: e.g., 3.24.0
- [ ] C++ compiler: e.g., GNU 11.3 with NVCC 12.0.76
- [ ] Python: e.g., CPython 3.12
- [ ] MPI: e.g., OpenMPI 4.1.1
- [ ] FFTW: e.g., 3.3.10
- [ ] HDF5: e.g., 1.14.0
- [ ] ADIOS2: e.g., 2.10.0
- Other dependencies: yes/no, describe

## Additional information
If applicable, please add any additional information that may help explain the issue, such as log files (e.g., build logs, error logs, etc.), error messages (e.g., compiler errors, runtime errors, etc.), screenshots, or other relevant details.
12 changes: 9 additions & 3 deletions .github/workflows/clang_sanitizers.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: 🧴 clang sanitizers

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:
paths-ignore:
- "Docs/**"

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-clangsanitizers
Expand Down Expand Up @@ -69,7 +75,7 @@ jobs:
export "ASAN_OPTIONS=detect_leaks=0"
mpirun -n 2 ./build/bin/warpx.rz Examples/Physics_applications/laser_acceleration/inputs_base_rz
mpirun -n 2 ./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_test_1d_laser_acceleration
mpirun -n 2 ./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_base_1d
mpirun -n 2 ./build/bin/warpx.2d Examples/Physics_applications/laser_acceleration/inputs_base_2d
mpirun -n 2 ./build/bin/warpx.3d Examples/Physics_applications/laser_acceleration/inputs_base_3d
Expand Down Expand Up @@ -150,7 +156,7 @@ jobs:
export OMP_NUM_THREADS=2
mpirun -n 2 ./build/bin/warpx.rz Examples/Physics_applications/laser_acceleration/inputs_base_rz warpx.serialize_initial_conditions = 0
mpirun -n 2 ./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_test_1d_laser_acceleration warpx.serialize_initial_conditions = 0
mpirun -n 2 ./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_base_1d warpx.serialize_initial_conditions = 0
mpirun -n 2 ./build/bin/warpx.2d Examples/Physics_applications/laser_acceleration/inputs_base_2d warpx.serialize_initial_conditions = 0
mpirun -n 2 ./build/bin/warpx.3d Examples/Physics_applications/laser_acceleration/inputs_base_3d warpx.serialize_initial_conditions = 0
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/clang_tidy.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: 🧹 clang-tidy

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:
paths-ignore:
- "Docs/**"

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-clangtidy
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanup-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: CleanUpCache

on:
workflow_run:
workflows: [🧹 clang-tidy, 🔍 CodeQL, 🐧 CUDA, 🐧 HIP, 🐧 Intel, 🍏 macOS, 🐧 OpenMP]
workflows: [🧴 clang sanitizers, 🧹 clang-tidy, 🔍 CodeQL, 🐧 CUDA, 🐧 HIP, 🐧 Intel, 🍏 macOS, 🐧 OpenMP]
types:
- completed

Expand Down
14 changes: 10 additions & 4 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,22 @@ jobs:
- name: Checkout
uses: actions/checkout@v4

- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.x'

- name: Install Packages (C++)
if: ${{ matrix.language == 'cpp' }}
run: |
sudo apt-get update
sudo apt-get install --yes cmake openmpi-bin libopenmpi-dev libhdf5-openmpi-dev libadios-openmpi-dev ccache
python -m pip install --upgrade pip
python -m pip install --upgrade pipx
python -m pip install --upgrade wheel
python -m pip install --upgrade cmake
export CMAKE="$HOME/.local/bin/cmake" && echo "CMAKE=$CMAKE" >> $GITHUB_ENV
python -m pipx install cmake
- name: Set Up Cache
if: ${{ matrix.language == 'cpp' }}
Expand All @@ -54,7 +60,7 @@ jobs:
- name: Configure (C++)
if: ${{ matrix.language == 'cpp' }}
run: |
$CMAKE -S . -B build -DWarpX_OPENPMD=ON
cmake -S . -B build -DWarpX_OPENPMD=ON
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
Expand All @@ -75,15 +81,15 @@ jobs:
export CCACHE_MAXSIZE=100M
ccache -z
$CMAKE --build build -j 4
cmake --build build -j 4
ccache -s
du -hs ~/.cache/ccache
# Make sure CodeQL has something to do
touch Source/Utils/WarpXVersion.cpp
export CCACHE_DISABLE=1
$CMAKE --build build -j 4
cmake --build build -j 4
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: 🐧 CUDA

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:
paths-ignore:
- "Docs/**"

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-cuda
Expand Down Expand Up @@ -131,7 +137,7 @@ jobs:
which nvcc || echo "nvcc not in PATH!"
git clone https://github.com/AMReX-Codes/amrex.git ../amrex
cd ../amrex && git checkout --detach 216ce6f37de4b65be57fc1006b3457b4fc318e03 && cd -
cd ../amrex && git checkout --detach 92679babfc2cc66ca06ee591a80001db57c89878 && 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
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/dependencies/dpcpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,13 +29,16 @@ df -h
# https://github.com/ECP-WarpX/WarpX/pull/1566#issuecomment-790934878

# try apt install up to five times, to avoid connection splits
# FIXME install latest version of IntelLLVM, Intel MKL
# after conflicts with openPMD are resolved
status=1
for itry in {1..5}
do
sudo apt-get install -y --no-install-recommends \
build-essential \
cmake \
intel-oneapi-compiler-dpcpp-cpp intel-oneapi-mkl-devel \
intel-oneapi-compiler-dpcpp-cpp=2024.2.1-1079 \
intel-oneapi-mkl-devel=2024.2.1-103 \
g++ gfortran \
libopenmpi-dev \
openmpi-bin \
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/hip.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: 🐧 HIP

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:
paths-ignore:
- "Docs/**"

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-hip
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/insitu.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: 🐧 In Situ Vis

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:
paths-ignore:
- "Docs/**"

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-insituvis
Expand Down Expand Up @@ -101,8 +107,8 @@ jobs:
cmake --build build -j 10
- name: 2D Test
run: |
cp Examples/Tests/ionization/inputs_test_2d_ionization_lab .
cp Examples/Tests/ionization/catalyst_pipeline.py .
cp Examples/Tests/field_ionization/inputs_test_2d_ionization_lab .
cp Examples/Tests/field_ionization/catalyst_pipeline.py .
mpiexec -n 2 ./build/bin/warpx.2d \
inputs_test_2d_ionization_lab \
catalyst.script_paths = catalyst_pipeline.py\
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/intel.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: 🐧 Intel

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:
paths-ignore:
- "Docs/**"

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-intel
Expand Down Expand Up @@ -106,6 +112,7 @@ jobs:
set +e
source /opt/intel/oneapi/setvars.sh
set -e
export PATH=$PATH:/opt/intel/oneapi/compiler/2024.2/bin # FIXME
export CXX=$(which icpx)
export CC=$(which icx)
Expand Down Expand Up @@ -170,6 +177,7 @@ jobs:
set +e
source /opt/intel/oneapi/setvars.sh
set -e
export PATH=$PATH:/opt/intel/oneapi/compiler/2024.2/bin # FIXME
export CXX=$(which icpx)
export CC=$(which icx)
export CXXFLAGS="-fsycl ${CXXFLAGS}"
Expand All @@ -180,6 +188,7 @@ jobs:
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_COMPUTE=SYCL \
-DWarpX_EB=ON \
-DWarpX_FFT=ON \
-DWarpX_PYTHON=ON \
-DWarpX_MPI=OFF \
-DWarpX_OPENPMD=ON \
Expand Down
Loading

0 comments on commit 7441110

Please sign in to comment.