Skip to content

Commit

Permalink
Merge branch 'development' of github.com:ECP-WarpX/WarpX into tps_exa…
Browse files Browse the repository at this point in the history
…mple
  • Loading branch information
aeriforme committed Oct 11, 2024
2 parents 6f1863e + d371166 commit c113359
Show file tree
Hide file tree
Showing 210 changed files with 2,664 additions and 1,337 deletions.
3 changes: 3 additions & 0 deletions .azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ pool:
pr:
autoCancel: true
drafts: false
branches:
include:
- development

jobs:
- job:
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/clang_sanitizers.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: 🧴 clang sanitizers

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-clangsanitizers
Expand Down Expand Up @@ -69,7 +73,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 +154,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
6 changes: 5 additions & 1 deletion .github/workflows/clang_tidy.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: 🧹 clang-tidy

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-clangtidy
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
8 changes: 6 additions & 2 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: 🐧 CUDA

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-cuda
Expand Down Expand Up @@ -131,7 +135,7 @@ jobs:
which nvcc || echo "nvcc not in PATH!"
git clone https://github.com/AMReX-Codes/amrex.git ../amrex
cd ../amrex && git checkout --detach 103d0e9f7c7e7fbedbeb61512d3f37f3e2b03770 && cd -
cd ../amrex && git checkout --detach e1222803739ed2342b9ff6fc2d57316ff0d6cb0c && 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
6 changes: 5 additions & 1 deletion .github/workflows/hip.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: 🐧 HIP

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

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

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-insituvis
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/intel.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: 🐧 Intel

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-intel
Expand Down Expand Up @@ -180,6 +184,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
23 changes: 13 additions & 10 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: 🍏 macOS

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-macos
Expand All @@ -18,13 +22,16 @@ jobs:
#CMAKE_GENERATOR: Ninja
steps:
- uses: actions/checkout@v4
- name: install dependencies
- uses: actions/setup-python@v5
name: Install Python
with:
python-version: '3.x'
- name: install brew dependencies
run: |
set +e
brew unlink gcc
brew update
brew upgrade || true
brew install --overwrite python
brew install ccache
brew install fftw
brew install libomp
Expand All @@ -35,12 +42,12 @@ jobs:
set -e
brew tap openpmd/openpmd
brew install openpmd-api
python3 -m venv py-venv
source py-venv/bin/activate
- name: install pip dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build packaging setuptools wheel
python3 -m pip install --upgrade mpi4py
python3 -m pip install --upgrade -r Regression/requirements.txt
- name: CCache Cache
uses: actions/cache@v4
with:
Expand All @@ -56,8 +63,6 @@ jobs:
export CCACHE_SLOPPINESS=time_macros
ccache -z
source py-venv/bin/activate
cmake -S . -B build_dp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_EB=OFF \
Expand All @@ -67,7 +72,6 @@ jobs:
cmake -S . -B build_sp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DPython_EXECUTABLE=$(which python3) \
-DWarpX_EB=OFF \
-DWarpX_PYTHON=ON \
-DWarpX_OPENPMD=ON \
Expand All @@ -81,7 +85,6 @@ jobs:
- name: run pywarpx
run: |
source py-venv/bin/activate
export OMP_NUM_THREADS=1
mpirun -n 2 Examples/Physics_applications/laser_acceleration/inputs_test_3d_laser_acceleration_picmi.py
6 changes: 5 additions & 1 deletion .github/workflows/source.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,11 @@

name: 📜 Source

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-source
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: 🐧 OpenMP

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-ubuntu
Expand Down Expand Up @@ -82,7 +86,7 @@ jobs:
-DWarpX_QED_TOOLS=ON
cmake --build build -j 4
./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_test_1d_laser_acceleration
./build/bin/warpx.1d Examples/Physics_applications/laser_acceleration/inputs_base_1d
./build/bin/warpx.2d Examples/Physics_applications/laser_acceleration/inputs_base_2d
ccache -s
Expand Down
6 changes: 5 additions & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
name: 🪟 Windows

on: [push, pull_request]
on:
push:
branches:
- "development"
pull_request:

concurrency:
group: ${{ github.ref }}-${{ github.head_ref }}-windows
Expand Down
4 changes: 2 additions & 2 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ exclude: '^share/openPMD/thirdParty'
# See https://pre-commit.com/hooks.html for more hooks
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v5.0.0
hooks:
- id: trailing-whitespace
args: [--markdown-linebreak-ext=md]
Expand Down Expand Up @@ -69,7 +69,7 @@ repos:
# Python: Ruff linter & formatter
# https://docs.astral.sh/ruff/
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.8
rev: v0.6.9
hooks:
# Run the linter
- id: ruff
Expand Down
12 changes: 8 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Preamble ####################################################################
#
cmake_minimum_required(VERSION 3.24.0)
project(WarpX VERSION 24.09)
project(WarpX VERSION 24.10)

include(${WarpX_SOURCE_DIR}/cmake/WarpXFunctions.cmake)

Expand Down Expand Up @@ -714,9 +714,9 @@ endforeach()
#
if(WarpX_PYTHON)
set(PY_PIP_OPTIONS "-v" CACHE STRING
"Additional parameters to pass to `pip`")
"Additional parameters to pass to `pip` as ; separated list")
set(PY_PIP_INSTALL_OPTIONS "" CACHE STRING
"Additional parameters to pass to `pip install`")
"Additional parameters to pass to `pip install` as ; separated list")

# ensure all targets are built before we package them in a wheel
set(pyWarpX_INSTALL_TARGET_NAMES)
Expand All @@ -739,7 +739,8 @@ if(WarpX_PYTHON)
${CMAKE_COMMAND} -E rm -f -r warpx-whl
COMMAND
${CMAKE_COMMAND} -E env PYWARPX_LIB_DIR=$<TARGET_FILE_DIR:pyWarpX_${WarpX_DIMS_LAST}>
${Python_EXECUTABLE} -m pip ${PY_PIP_OPTIONS} wheel --no-build-isolation --no-deps --wheel-dir=warpx-whl ${WarpX_SOURCE_DIR}
${Python_EXECUTABLE} -m pip ${PY_PIP_OPTIONS} wheel --no-build-isolation --no-deps --wheel-dir=warpx-whl "${WarpX_SOURCE_DIR}"
COMMAND_EXPAND_LISTS VERBATIM
WORKING_DIRECTORY
${WarpX_BINARY_DIR}
DEPENDS
Expand All @@ -754,6 +755,7 @@ if(WarpX_PYTHON)
endif()
add_custom_target(${WarpX_CUSTOM_TARGET_PREFIX}pip_install_requirements
${Python_EXECUTABLE} -m pip ${PY_PIP_OPTIONS} install ${PY_PIP_INSTALL_OPTIONS} -r "${WarpX_SOURCE_DIR}/${pyWarpX_REQUIREMENT_FILE}"
COMMAND_EXPAND_LISTS VERBATIM
WORKING_DIRECTORY
${WarpX_BINARY_DIR}
)
Expand All @@ -771,6 +773,7 @@ if(WarpX_PYTHON)
add_custom_target(${WarpX_CUSTOM_TARGET_PREFIX}pip_install
${CMAKE_COMMAND} -E env WARPX_MPI=${WarpX_MPI}
${Python_EXECUTABLE} -m pip ${PY_PIP_OPTIONS} install --force-reinstall --no-index --no-deps ${PY_PIP_INSTALL_OPTIONS} --find-links=warpx-whl pywarpx
COMMAND_EXPAND_LISTS VERBATIM
WORKING_DIRECTORY
${WarpX_BINARY_DIR}
DEPENDS
Expand All @@ -784,6 +787,7 @@ if(WarpX_PYTHON)
add_custom_target(${WarpX_CUSTOM_TARGET_PREFIX}pip_install_nodeps
${CMAKE_COMMAND} -E env WARPX_MPI=${WarpX_MPI}
${Python_EXECUTABLE} -m pip ${PY_PIP_OPTIONS} install --force-reinstall --no-index --no-deps ${PY_PIP_INSTALL_OPTIONS} --find-links=warpx-whl pywarpx
COMMAND_EXPAND_LISTS VERBATIM
WORKING_DIRECTORY
${WarpX_BINARY_DIR}
DEPENDS
Expand Down
4 changes: 2 additions & 2 deletions Docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@ def __init__(self, *args, **kwargs):
# built documents.
#
# The short X.Y version.
version = "24.08"
version = "24.10"
# The full version, including alpha/beta/rc tags.
release = "24.08"
release = "24.10"

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
Loading

0 comments on commit c113359

Please sign in to comment.