forked from ECP-WarpX/WarpX
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
aa536a0
commit 5f64a92
Showing
1,415 changed files
with
47,461 additions
and
33,864 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,42 +3,49 @@ | |
pool: | ||
vmImage: 'ubuntu-20.04' | ||
|
||
trigger: | ||
branches: | ||
include: | ||
- development | ||
pr: | ||
autoCancel: true | ||
drafts: false | ||
paths: | ||
exclude: | ||
- Docs | ||
|
||
jobs: | ||
- job: | ||
# FIXME remove unused variables | ||
variables: | ||
BLASPP_HOME: '/usr/local' | ||
CEI_SUDO: 'sudo' | ||
CEI_TMP: '/tmp/cei' | ||
CMAKE_GENERATOR: 'Ninja' | ||
FFTW_HOME: '/usr' | ||
LAPACKPP_HOME: '/usr/local' | ||
OMP_NUM_THREADS: 1 | ||
WARPX_CI_CCACHE: 'TRUE' | ||
WARPX_CI_NUM_MAKE_JOBS: 2 | ||
WARPX_CI_OPENPMD: 'TRUE' | ||
WARPX_CI_TMP: '/tmp/ci' | ||
#WARPX_OPENPMD: 'TRUE' | ||
|
||
strategy: | ||
matrix: | ||
cartesian1d: | ||
WARPX_CI_REGULAR_CARTESIAN_1D: 'TRUE' | ||
WARPX_CI_PSATD: 'FALSE' | ||
cartesian2d: | ||
WARPX_CI_REGULAR_CARTESIAN_2D: 'TRUE' | ||
cartesian3d: | ||
WARPX_CI_REGULAR_CARTESIAN_3D: 'TRUE' | ||
single_precision: | ||
WARPX_CI_SINGLE_PRECISION: 'TRUE' | ||
rz_or_nompi: | ||
WARPX_CI_RZ_OR_NOMPI: 'TRUE' | ||
qed: | ||
WARPX_CI_QED: 'TRUE' | ||
embedded_boundary: | ||
WARPX_CI_EB: 'TRUE' | ||
# Cartesian 1D | ||
cartesian_1d: | ||
WARPX_CMAKE_FLAGS: -DWarpX_DIMS=1 -DWarpX_FFT=ON -DWarpX_PYTHON=ON | ||
# Cartesian 2D | ||
cartesian_2d: | ||
WARPX_CMAKE_FLAGS: -DWarpX_DIMS=2 -DWarpX_FFT=ON -DWarpX_PYTHON=ON | ||
# Cartesian 3D | ||
cartesian_3d: | ||
WARPX_CMAKE_FLAGS: -DWarpX_DIMS=3 -DWarpX_FFT=ON -DWarpX_PYTHON=ON | ||
# Cylindrical RZ | ||
cylindrical_rz: | ||
WARPX_CMAKE_FLAGS: -DWarpX_DIMS=RZ -DWarpX_FFT=ON -DWarpX_PYTHON=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 | ||
# WARPX_RZ_FFT: 'TRUE' | ||
|
||
# default: 60; maximum: 360 | ||
timeoutInMinutes: 240 | ||
|
@@ -50,9 +57,8 @@ jobs: | |
- task: Cache@2 | ||
continueOnError: true | ||
inputs: | ||
key: 'Ccache | "$(System.JobName)" | .azure-pipelines.yml | cmake/dependencies/AMReX.cmake | run_test.sh' | ||
key: 'Ccache | "$(System.JobName)" | .azure-pipelines.yml | cmake/dependencies/AMReX.cmake' | ||
restoreKeys: | | ||
Ccache | "$(System.JobName)" | .azure-pipelines.yml | cmake/dependencies/AMReX.cmake | run_test.sh | ||
Ccache | "$(System.JobName)" | .azure-pipelines.yml | cmake/dependencies/AMReX.cmake | ||
Ccache | "$(System.JobName)" | .azure-pipelines.yml | ||
path: /home/vsts/.ccache | ||
|
@@ -62,16 +68,15 @@ jobs: | |
- task: Cache@2 | ||
continueOnError: true | ||
inputs: | ||
key: 'Python3 | "$(System.JobName)" | .azure-pipelines.yml | run_test.sh' | ||
key: 'Python3 | "$(System.JobName)" | .azure-pipelines.yml' | ||
restoreKeys: | | ||
Python3 | "$(System.JobName)" | .azure-pipelines.yml | run_test.sh | ||
Python3 | "$(System.JobName)" | .azure-pipelines.yml | ||
path: /home/vsts/.local/lib/python3.8 | ||
cacheHitVar: PYTHON38_CACHE_RESTORED | ||
displayName: Cache Python Libraries | ||
|
||
- bash: | | ||
set -eu -o pipefail | ||
set -o nounset errexit pipefail | ||
cat /proc/cpuinfo | grep "model name" | sort -u | ||
df -h | ||
echo 'Acquire::Retries "3";' | sudo tee /etc/apt/apt.conf.d/80-retries | ||
|
@@ -82,6 +87,8 @@ jobs: | |
python3 python3-pandas python3-pip python3-venv python3-setuptools libblas-dev liblapack-dev | ||
ccache --set-config=max_size=10.0G | ||
python3 -m pip install --upgrade pip | ||
python3 -m pip install --upgrade build | ||
python3 -m pip install --upgrade packaging | ||
python3 -m pip install --upgrade setuptools | ||
python3 -m pip install --upgrade wheel | ||
python3 -m pip install --upgrade virtualenv | ||
|
@@ -91,32 +98,72 @@ jobs: | |
export PATH="$HOME/.local/bin:$PATH" | ||
sudo curl -L -o /usr/local/bin/cmake-easyinstall https://raw.githubusercontent.com/ax3l/cmake-easyinstall/main/cmake-easyinstall | ||
sudo chmod a+x /usr/local/bin/cmake-easyinstall | ||
if [ "${WARPX_CI_OPENPMD:-FALSE}" == "TRUE" ]; then | ||
cmake-easyinstall --prefix=/usr/local \ | ||
git+https://github.com/openPMD/[email protected] \ | ||
-DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \ | ||
-DCMAKE_VERBOSE_MAKEFILE=ON \ | ||
-DopenPMD_USE_PYTHON=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DBUILD_CLI_TOOLS=OFF | ||
python3 -m pip install --upgrade openpmd-api | ||
fi | ||
if [[ "${WARPX_CI_RZ_OR_NOMPI:-FALSE}" == "TRUE" ]]; then | ||
cmake-easyinstall --prefix=/usr/local git+https://github.com/icl-utk-edu/blaspp.git \ | ||
#if [ "${WARPX_OPENPMD:-FALSE}" == "TRUE" ]; then | ||
# cmake-easyinstall --prefix=/usr/local \ | ||
# git+https://github.com/openPMD/[email protected] \ | ||
# -DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \ | ||
# -DCMAKE_VERBOSE_MAKEFILE=ON \ | ||
# -DopenPMD_USE_PYTHON=OFF -DBUILD_TESTING=OFF -DBUILD_EXAMPLES=OFF -DBUILD_CLI_TOOLS=OFF | ||
# #python3 -m pip install --upgrade openpmd-api | ||
#fi | ||
if [ "${WARPX_RZ_FFT:-FALSE}" == "TRUE" ]; then | ||
# BLAS++ | ||
cmake-easyinstall --prefix=/usr/local \ | ||
git+https://github.com/icl-utk-edu/blaspp.git \ | ||
-DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \ | ||
-DCMAKE_CXX_STANDARD=17 \ | ||
-Duse_openmp=OFF -Dbuild_tests=OFF -DCMAKE_VERBOSE_MAKEFILE=ON | ||
cmake-easyinstall --prefix=/usr/local git+https://github.com/icl-utk-edu/lapackpp.git \ | ||
-DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \ | ||
-DCMAKE_CXX_STANDARD=17 \ | ||
# LAPACK++ | ||
cmake-easyinstall --prefix=/usr/local \ | ||
git+https://github.com/icl-utk-edu/lapackpp.git \ | ||
-DCMAKE_CXX_COMPILER_LAUNCHER=$(which ccache) \ | ||
-DCMAKE_CXX_STANDARD=17 \ | ||
-Duse_cmake_find_lapack=ON -Dbuild_tests=OFF -DCMAKE_VERBOSE_MAKEFILE=ON | ||
fi | ||
# Python modules required for test analysis | ||
python3 -m pip install --upgrade -r Regression/requirements.txt | ||
python3 -m pip cache purge | ||
# external repositories required for test analysis | ||
cd .. | ||
git clone --depth 1 https://github.com/ECP-WarpX/warpx-data.git | ||
# TODO select only specific datasets? | ||
git clone --depth 1 https://github.com/openPMD/openPMD-example-datasets.git | ||
cd - | ||
rm -rf ${CEI_TMP} | ||
df -h | ||
displayName: 'Install dependencies' | ||
- bash: | | ||
set -eu -o pipefail | ||
# set options | ||
set -o nounset errexit pipefail | ||
# display disk space usage | ||
df -h | ||
./run_test.sh | ||
rm -rf ${WARPX_CI_TMP} | ||
# configure | ||
export AMReX_CMAKE_FLAGS="-DAMReX_ASSERTIONS=ON -DAMReX_TESTING=ON" | ||
export WARPX_TEST_FLAGS="-DWarpX_TEST_CLEANUP=ON -DWarpX_TEST_FPETRAP=ON -DWarpX_TEST_DEBUG=ON" | ||
cmake -S . -B build \ | ||
${AMReX_CMAKE_FLAGS} \ | ||
${WARPX_CMAKE_FLAGS} \ | ||
${WARPX_TEST_FLAGS} | ||
# build | ||
cmake --build build -j 2 | ||
# display disk space usage | ||
df -h | ||
displayName: 'Build & test' | ||
displayName: 'Build' | ||
- bash: | | ||
# set options | ||
set -o nounset errexit pipefail | ||
# run tests (exclude pytest.AMReX when running Python tests) | ||
ctest --test-dir build --output-on-failure -E AMReX | ||
displayName: 'Test' | ||
- bash: | | ||
# set options | ||
set -o nounset errexit pipefail | ||
# find and print backtrace | ||
find build/bin/ -type f -name "Backtrace*" \ | ||
-exec echo -e "\nBacktrace\n---------\n{}\n---------" \; \ | ||
-exec cat {} \; | ||
displayName: 'Logs' | ||
condition: always() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 debugging the code, 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
blank_issues_enabled: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
Oops, something went wrong.