Skip to content

Commit

Permalink
Merge branch 'development' into apply_constant_fields_directly
Browse files Browse the repository at this point in the history
  • Loading branch information
dpgrote committed Nov 13, 2023
2 parents cc0a2f1 + ce82a69 commit 59eed34
Show file tree
Hide file tree
Showing 177 changed files with 1,081 additions and 969 deletions.
9 changes: 6 additions & 3 deletions .clang-tidy
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,17 @@ Checks: '
-bugprone-unchecked-optional-access,
cert-*,
-cert-err58-cpp,
cppcoreguidelines-avoid-goto,
cppcoreguidelines-interfaces-global-init,
cppcoreguidelines-*,
-cppcoreguidelines-avoid-c-arrays,
-cppcoreguidelines-avoid-magic-numbers,
-cppcoreguidelines-avoid-non-const-global-variables,
-cppcoreguidelines-init-variables,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-narrowing-conversions,
-cppcoreguidelines-no-malloc,
-cppcoreguidelines-narrowing-conversions,
-cppcoreguidelines-non-private-member-variables-in-classes,
-cppcoreguidelines-owning-memory,
-cppcoreguidelines-pro-*,
google-build-explicit-make-pair,
google-build-namespaces,
google-global-names-in-headers,
Expand Down
22 changes: 8 additions & 14 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@ jobs:
env:
CXXFLAGS: "-Werror"
CMAKE_GENERATOR: Ninja
# setuptools/mp4py work-around, see
# https://github.com/mpi4py/mpi4py/pull/159
# https://github.com/mpi4py/mpi4py/issues/157#issuecomment-1001022274
SETUPTOOLS_USE_DISTUTILS: stdlib
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
Expand Down Expand Up @@ -75,7 +71,8 @@ jobs:
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON
cmake --build build_sp -j 2
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build packaging setuptools wheel
export WARPX_MPI=ON
export PYWARPX_LIB_DIR=$PWD/build_sp/lib/site-packages/pywarpx/
python3 -m pip wheel .
Expand Down Expand Up @@ -111,20 +108,16 @@ jobs:
which nvcc || echo "nvcc not in PATH!"
git clone https://github.com/AMReX-Codes/amrex.git ../amrex
cd ../amrex && git checkout --detach da79aff8053058371a78d4bf85488384242368ee && cd -
cd ../amrex && git checkout --detach d36463103daed09a40cdea235041a6ab79ff280c && cd -
make COMP=gcc QED=FALSE USE_MPI=TRUE USE_GPU=TRUE USE_OMP=FALSE USE_PSATD=TRUE USE_CCACHE=TRUE -j 2
build_nvhpc21-11-nvcc:
name: [email protected] NVCC/NVC++ Release [tests]
runs-on: ubuntu-20.04
if: github.event.pull_request.draft == false
env:
# For NVHPC, Ninja is slower than the default:
#CMAKE_GENERATOR: Ninja
# setuptools/mp4py work-around, see
# https://github.com/mpi4py/mpi4py/pull/159
# https://github.com/mpi4py/mpi4py/issues/157#issuecomment-1001022274
SETUPTOOLS_USE_DISTUTILS: stdlib
#env:
# # For NVHPC, Ninja is slower than the default:
# CMAKE_GENERATOR: Ninja
steps:
- uses: actions/checkout@v3
- name: Dependencies
Expand Down Expand Up @@ -175,7 +168,8 @@ jobs:
# https://github.com/mpi4py/mpi4py/issues/114
#export CFLAGS="-noswitcherror"
#python3 -m pip install --upgrade pip setuptools wheel
#python3 -m pip install --upgrade pip
#python3 -m pip install --upgrade build packaging setuptools wheel
#export WARPX_MPI=ON
#export PYWARPX_LIB_DIR=$PWD/build/lib/site-packages/pywarpx/
#python3 -m pip wheel .
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ jobs:
export CXX=$(which icpc)
export CC=$(which icc)
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build packaging setuptools wheel
cmake -S . -B build_dp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
Expand Down Expand Up @@ -104,7 +105,7 @@ jobs:
export CC=$(which icx)
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade setuptools wheel
python3 -m pip install --upgrade build packaging setuptools wheel
cmake -S . -B build_sp \
-DCMAKE_CXX_FLAGS_RELEASE="-O1 -DNDEBUG" \
Expand Down Expand Up @@ -178,6 +179,6 @@ jobs:
# Skip this as it will copy the binary artifacts and we are tight on disk space
# python3 -m pip install --upgrade pip
# python3 -m pip install --upgrade setuptools wheel
# python3 -m pip install --upgrade build packaging setuptools wheel
# PYWARPX_LIB_DIR=$PWD/build_sp/lib/site-packages/pywarpx/ python3 -m pip wheel .
# python3 -m pip install *.whl
6 changes: 1 addition & 5 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,6 @@ jobs:
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: TRUE
# For macOS, Ninja is slower than the default:
#CMAKE_GENERATOR: Ninja
# setuptools/mp4py work-around, see
# https://github.com/mpi4py/mpi4py/pull/159
# https://github.com/mpi4py/mpi4py/issues/157#issuecomment-1001022274
SETUPTOOLS_USE_DISTUTILS: stdlib
steps:
- uses: actions/checkout@v3
- name: Brew Cache
Expand Down Expand Up @@ -65,7 +61,7 @@ jobs:
- name: build WarpX
run: |
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install --upgrade build packaging setuptools wheel
cmake -S . -B build_dp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
Expand Down
7 changes: 2 additions & 5 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -167,10 +167,6 @@ jobs:
CXX: clang++
# On CI for this test, Ninja is slower than the default:
#CMAKE_GENERATOR: Ninja
# setuptools/mp4py work-around, see
# https://github.com/mpi4py/mpi4py/pull/159
# https://github.com/mpi4py/mpi4py/issues/157#issuecomment-1001022274
SETUPTOOLS_USE_DISTUTILS: stdlib
steps:
- uses: actions/checkout@v3
- name: install dependencies
Expand All @@ -190,7 +186,8 @@ jobs:
ccache-openmp-pyfull-
- name: build WarpX
run: |
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade build packaging setuptools wheel
export CXXFLAGS="-Werror -Wno-error=pass-failed"
Expand Down
10 changes: 7 additions & 3 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ jobs:
cmake --build build --config Debug --parallel 2
if(!$?) { Exit $LASTEXITCODE }
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install --upgrade pip
if(!$?) { Exit $LASTEXITCODE }
python3 -m pip install --upgrade build packaging setuptools wheel
if(!$?) { Exit $LASTEXITCODE }
cmake --build build --config Debug --target install
if(!$?) { Exit $LASTEXITCODE }
Expand All @@ -64,7 +66,7 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.x'
python-version: '3.8'
- uses: seanmiddleditch/gha-setup-ninja@master
- name: CCache Cache
uses: actions/cache@v3
Expand Down Expand Up @@ -100,7 +102,9 @@ jobs:
cmake --build build --config Release --target install
if errorlevel 1 exit 1
python3 -m pip install --upgrade pip setuptools wheel
python3 -m pip install --upgrade pip
if errorlevel 1 exit 1
python3 -m pip install --upgrade build packaging setuptools wheel
if errorlevel 1 exit 1
python3 -m pip install --upgrade -r requirements.txt
if errorlevel 1 exit 1
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Preamble ####################################################################
#
cmake_minimum_required(VERSION 3.20.0)
project(WarpX VERSION 23.10)
project(WarpX VERSION 23.11)

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

Expand Down Expand Up @@ -127,7 +127,7 @@ option(WarpX_PYTHON_IPO
)

set(pyWarpX_VERSION_INFO "" CACHE STRING
"PEP-440 conformant version (set by distutils)")
"PEP-440 conformant version (set by setup.py)")

# enforce consistency of dependent options
if(WarpX_APP OR WarpX_PYTHON)
Expand Down
10 changes: 7 additions & 3 deletions Docs/source/acknowledge_us.rst
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,8 @@ If your project uses a specific algorithm or component, please consider citing t

- Sandberg R T, Lehe R, Mitchell C E, Garten M, Qiang J, Vay J-L and Huebl A.
**Hybrid Beamline Element ML-Training for Surrogates in the ImpactX Beam-Dynamics Code**.
14th International Particle Accelerator Conference (IPAC'23), WEPA101, *in print*, 2023.
`preprint <https://www.ipac23.org/preproc/pdf/WEPA101.pdf>`__,
`DOI:10.18429/JACoW-IPAC-23-WEPA101 <https://doi.org/10.18429/JACoW-IPAC-23-WEPA101>`__
14th International Particle Accelerator Conference (IPAC'23), WEPA101, 2023.
`DOI:10.18429/JACoW-IPAC2023-WEPA101 <https://doi.org/10.18429/JACoW-IPAC2023-WEPA101>`__

- Huebl A, Lehe R, Zoni E, Shapoval O, Sandberg R T, Garten M, Formenti A, Jambunathan R, Kumar P, Gott K, Myers A, Zhang W, Almgren A, Mitchell C E, Qiang J, Sinn A, Diederichs S, Thevenet M, Grote D, Fedeli L, Clark T, Zaim N, Vincenti H, Vay JL.
**From Compact Plasma Particle Sources to Advanced Accelerators with Modeling at Exascale**.
Expand All @@ -75,6 +74,11 @@ If your project uses a specific algorithm or component, please consider citing t
*New Journal of Physics* **24** 025009, 2022.
`DOI:10.1088/1367-2630/ac4ef1 <https://doi.org/10.1088/1367-2630/ac4ef1>`__

- Lehe R, Blelly A, Giacomel L, Jambunathan R, Vay JL.
**Absorption of charged particles in perfectly matched layers by optimal damping of the deposited current**.
*Physical Review E* **106** 045306, 2022.
`DOI:10.1103/PhysRevE.106.045306 <https://doi.org/10.1103/PhysRevE.106.045306>`__

- Zoni E, Lehe R, Shapoval O, Belkin D, Zaim N, Fedeli L, Vincenti H, Vay JL.
**A hybrid nodal-staggered pseudo-spectral electromagnetic particle-in-cell method with finite-order centering**. *Computer Physics Communications* **279**, 2022.
`DOI:10.1016/j.cpc.2022.108457 <https://doi.org/10.1016/j.cpc.2022.108457>`__
Expand Down
4 changes: 2 additions & 2 deletions Docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@
# built documents.
#
# The short X.Y version.
version = u'23.10'
version = u'23.11'
# The full version, including alpha/beta/rc tags.
release = u'23.10'
release = u'23.11'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion Docs/source/dataanalysis/formats.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ When using the AMReX `plotfile` format, users can set the ``amrex.async_out=1``
option to perform the IO in a non-blocking fashion, meaning that the simulation
will continue to run while an IO thread controls writing the data to disk.
This can significantly reduce the overall time spent in IO. This is primarily intended for
large runs on supercomputers such as Summit and Cori; depending on the MPI
large runs on supercomputers (e.g. at OLCF or NERSC); depending on the MPI
implementation you are using, you may not see a benefit on your workstation.

When writing plotfiles, each rank will write to a separate file, up to some maximum number
Expand Down
15 changes: 11 additions & 4 deletions Docs/source/highlights.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,10 @@ Scientific works in laser-plasma and beam-plasma acceleration.
Phys. Rev. Research **5**, 033112, 2023
`DOI:10.1103/PhysRevResearch.5.033112 <https://doi.org/10.1103/PhysRevResearch.5.033112>`__

#. Sandberg R T, Lehe R, Mitchell C E, Garten M, Qiang J, Vay J-L, Huebl A.
#. Sandberg R T, Lehe R, Mitchell C E, Garten M, Qiang J, Vay J-L and Huebl A.
**Hybrid Beamline Element ML-Training for Surrogates in the ImpactX Beam-Dynamics Code**.
14th International Particle Accelerator Conference (IPAC'23), WEPA101, *in print*, 2023.
`preprint <https://www.ipac23.org/preproc/pdf/WEPA101.pdf>`__,
`DOI:10.18429/JACoW-IPAC-23-WEPA101 <https://doi.org/10.18429/JACoW-IPAC-23-WEPA101>`__
14th International Particle Accelerator Conference (IPAC'23), WEPA101, 2023.
`DOI:10.18429/JACoW-IPAC2023-WEPA101 <https://doi.org/10.18429/JACoW-IPAC2023-WEPA101>`__

#. Wang J, Zeng M, Li D, Wang X, Gao J.
**High quality beam produced by tightly focused laser driven wakefield accelerators**.
Expand Down Expand Up @@ -141,3 +140,11 @@ High-Performance Computing and Numerics
Scientific works in High-Performance Computing, applied mathematics and numerics.

Please see :ref:`this section <acknowledge_warpx_all_refs>`.

Nuclear Fusion - Magnetically Confined Plasmas
**********************************************

#. Nicks, B. S., Putvinski, S. and Tajima, T.
**Stabilization of the Alfvén-ion cyclotron instability through short plasmas: Fully kinetic simulations in a high-beta regime**.
Physics of Plasmas **30**, 102108, 2023.
`DOI:10.1063/5.0163889 <https://doi.org/10.1063/5.0163889>`__
3 changes: 2 additions & 1 deletion Docs/source/install/cmake.rst
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,8 @@ PICMI Python Bindings

.. code-block:: bash
python3 -m pip install -U pip setuptools wheel
python3 -m pip install -U pip
python3 -m pip install -U build packaging setuptools wheel
python3 -m pip install -U cmake
python3 -m pip install -r requirements.txt
Expand Down
1 change: 0 additions & 1 deletion Docs/source/install/hpc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ This section documents quick-start guides for a selection of supercomputers that
:maxdepth: 1

hpc/adastra
hpc/cori
hpc/crusher
hpc/frontier
hpc/fugaku
Expand Down
Loading

0 comments on commit 59eed34

Please sign in to comment.