Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 22.04 #3018

Merged
merged 3 commits into from
Apr 2, 2022
Merged

Release 22.04 #3018

merged 3 commits into from
Apr 2, 2022

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Apr 2, 2022

Prepare the April release of WarpX:

# update dependencies
./Tools/Release/updateAMReX.py
./Tools/Release/updatePICSAR.py
# bump version number
./Tools/Release/newVersion.sh

Following this workflow: https://warpx.readthedocs.io/en/latest/maintenance/release.html

@ax3l ax3l added component: documentation Docs, readme and manual component: third party Changes in WarpX that reflect a change in a third-party library labels Apr 2, 2022
@ax3l ax3l merged commit 62aa3cc into ECP-WarpX:development Apr 2, 2022
@ax3l ax3l deleted the release-22.04 branch April 2, 2022 06:59
RevathiJambunathan pushed a commit to RevathiJambunathan/WarpX that referenced this pull request May 3, 2022
* CI: Fix Small Issue w/ Langmuir Plots (ECP-WarpX#3010)

* Release 22.04 (ECP-WarpX#3018)

* AMReX: 22.04

* PICSAR: 22.04

* WarpX: 22.04

* Switch test to use common build with openPMD enabled (ECP-WarpX#2988)

* Switch test to use common build with OpenPMD enabled

* Match GNU make to CMake change

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* Allow process signals to trigger checkpoint or break behavior (ECP-WarpX#2896)

* Beginnings of signal handling machinery

* Add tentative logic to make checkpoint call

* Adapt formatting slightly

* Add calls to read signals and set up signal handlers

* Initialize signal flag array

* Add parsing of signal names, and fix some whitespace issues

* Skip signal setup on Windows

* added checkpoint and break signal inputs to picmi.py

* Address initial review requests

* Correct comment to match changed code

* Convert maximum signal number to a symbolic name

* Always parse signal input, and error out on Windows or wherever it may be unsupported

* Typo fix

* Add missing reset of checkpoint signal flag

* Add reset of break signal, in support of Python or library usage

* Test for a configured checkpoint diag when asked to checkpoint on a signal

* Fix typo in Linux code path

* Clean up MPI support

* Use symbolic name for maximum signal number

* Fix unused variable in the no-MPI case

* Add missing header inclusions

* Switch signal parsing to an enumerated table

* Test signal handling for Linux, not GNU C library

* Avoid another magic number

* Update MPI_Ibcast call to match symbolic array length

* Update loop over signal flags to use symbolic limit

* Match #includes to usage

* Add omitted C++ std <atomic> header include

* Guard entire set of signal definitions as *nix-only, not for Windows

* Broaden Windows exclusion to avoid zero-length array that displeases MSVC++

* Check return value from sigaction()

* Convert conditional calls to Abort() to assertions

* Move check for platform support to input parsing

* Shift signal handling code over toward ABLASTR to share with ImpactX and Hipace++

* Minor cleanup

* A bit more cleanup

* Fix formatting nits

* Add AMReX error handling on MPI calls

* Add ABLASTR signal handling code to GNU makefile too

* Document new input parameters

* Use ABLASTR assertion macros in ABLASTR code

* Convert requests limit value to a requests array size

* Generalize signal handling to an arbitrary set of potential actions

* Rename class to match usage and file name

* Stick stuff in ABLASTR namespace

* Indent conditional includes as requested

Co-authored-by: Roelof <roelof.groenewald@modernelectron.com>

* Moving Frame Field Probe Functionality (ECP-WarpX#2996)

* DRAFT for Moving Frame

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Adds m_last_compute_step

* Generalized SetParticlePosition, semicolons and formatting

* Update Source/Diagnostics/ReducedDiags/FieldProbe.H

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* Moved particle push before calculations. Condensed stuff.

* Fixed Velocity, added start and stop time functionality

* Documentation

* Apply suggestions from code review

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* Empty-Commit

* Fixed ParallelFor from review

* FP moving window in laser_acceleration 1d, 2d, 3d test

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Line detector instead of point

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* Refactoring: More General Interfaces (ECP-WarpX#2991)

* Refactoring: More General Interfaces (J, rho)

* Refactoring: More General Interfaces (E, B)

* Refactoring: More General Interfaces (rho)

* Fix const Correctness

* Fix const Correctness (continued)

* Fix Bugs

* Refactoring: More General Interfaces (averaged E, averaged B)

* LoadBalanceCosts: num_cells & num_macro_particles (ECP-WarpX#3019)

* Examples: LBC in Laser-Ion Example

* LoadBalanceCosts: num_cells & num_macro_particles

* Fix Script: Wrong Header Counting

Spliced out the first to columns twice.

* Fix Script: Blocking Factor

The script did not work if a direction only had one block

* Fix Script: 2D/3D

There is no generic way from the data we write to find this out,
without breaking corner cases such as one-block in one direction.

* LoadBalanceCosts: Fix Unused Vars in Script

Leftover to ECP-WarpX#3019

* Semicoarsening in electrostatic solvers (ECP-WarpX#3024)

* Semicoarsening in electrostatic solvers

Enable semicoarsening in electrostatic solvers if the problem is anisotropic
due to relativistic beam and/or anisotropic cell spacing.

* Update relativistic_space_charge_initialization benchmark

* AMReX: Update to latest commit (ECP-WarpX#3021)

* Added PlasmaLens class to PICMI (ECP-WarpX#3025)

* Added PlasmaLens class to PICMI

* Added CI test

* Added PICMI input file

* Fixed the output dir for the CI test

* Add `_plt` to Output File Prefix

Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>

* Minor fixes removing warnings from MSVC C++ (ECP-WarpX#3022)

* Fix MPI Signal Handling on Perlmutter (ECP-WarpX#3029)

* Fix: `MPI_CXX_BOOL` -> `MPI_BYTE`

C99 types were aded in MPI-2.2, while Cray's MPICH fork in version
8.1.13 defines `MPI_CXX_BOOL` to `MPI_DATATYPE_NULL` on Perlmutter.

We could use `MPI_C_BOOL`, which is technically a `_Bool` from
[<cstdbool>](https://en.cppreference.com/w/cpp/header/cstdbool)
(deprecated: C++17; removed: C++20) - or we simply do a static
assert on `sizeof(bool)` and communicate as a `MPI_BYTE` or
`MPI_CHAR`.

* Signals: Do no MPI Comms if none is configured

* Docs: Link and Explain Allowed Signal Values

* Review Comments & Style

* Extend `do_pml_Lo/Hi` to MR Levels (ECP-WarpX#2890)

* Vay Deposition: Fix SyncCurrent, FFTs (ECP-WarpX#3012)

* Implemented the BCK fallback for the ECT solver (ECP-WarpX#3016)

* Implemented the BCK fallback for the ECT solver

* Ignored an unused variable

* Bug fix

* Fix issue with preprocessor directive

* Added comments

* Implemented suggestions from code review

* Fixed tilebox

* Improved warning

* Using WarpX::RecordWarning instead of amrex::Print()

* Ignoring RZ

* Improving comment

* Bug Fix

* Lowered warning priority

* Ignoring low priority warnings in ECT tests

Co-authored-by: lgiacome <lorenzo.giacome@cern.ch>

* Signal: Cleanup (Simplify) (ECP-WarpX#3031)

Simplify the logic by fusing a loop.

* Fix Bug in `WarpX::MoveWindow` (ECP-WarpX#3034)

* [pre-commit.ci] pre-commit autoupdate (ECP-WarpX#3039)

updates:
- [github.com/pre-commit/pre-commit-hooks: v4.1.0 → v4.2.0](pre-commit/pre-commit-hooks@v4.1.0...v4.2.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* AMReX: Update to latest commit (ECP-WarpX#3037)

* RZ + openPMD : don't transpose data, save data with shape (Nm, Nz, Nr) (ECP-WarpX#3030)

* part_per_grid/cell : cartesian diag in RZ/openPMD

* RZ+openPMD : flexible ZR or RZ order

* fix logic if not in RZ

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* fix regression test, remove transpose and refactor

* Update Source/Diagnostics/WarpXOpenPMD.cpp

* Fix: Doxygen, Consistent Naming, Comments, Style

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* Remove Nodal Synchronization of J and Rho (ECP-WarpX#3038)

* Remove Nodal Sync of J and Rho

* Reset Benchmark of reduced_diags_single_precision

* Avoid unnecessary construction of CopyParticleAttribs (ECP-WarpX#3042)

If it's not used there is no reason to construct a CopyParticleAttribs
object.  In fact, it could result in a runtime `std::out_of_range` error in
`std::map::at()` because `tmp_particle_data` is used in the
CopyParticleAttribs constructor, but in `PhysicalParticleContainer::Evolve`,
`tmp_particle_data` is properly prepared only when doing back transformed
diagnostics.

* AMReX/PICSAR: Weekly Update (ECP-WarpX#3046)

* [pre-commit.ci] pre-commit autoupdate (ECP-WarpX#3049)

updates:
- [github.com/hadialqattan/pycln: v1.2.5 → v1.3.1](hadialqattan/pycln@v1.2.5...v1.3.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Summit: Prepend Hostname & Mapping (ECP-WarpX#3040)

Add an additional `jsrun` command on Summit so that one can easier map the run output to a hostname. Write a `task_host_mapping.txt` file for each run.

* Fix a bug about particle weight. (ECP-WarpX#3052)

Co-authored-by: Yinjian Zhao <yin@Yinjians-MacBook-Air.local>

* add after diagnostic python callback (ECP-WarpX#3043)

* Current Deposition Interfaces: Always Pass `dt` & `relative_time` (ECP-WarpX#2937)

* Current Deposition Interfaces: Always Pass `dt` & `relative_time`

* Fix CI Failures

* Fix 1D/RZ Warnings

* Fix RZ Bug

* Fix Bugs

* Minimize Changes, Fix Roundoff Errors

* Cleaning

* Remove dt From doDepositionShapeN

* Cleaning Esirkepov Deposition

* Cleaning Vay Deposition

* Fix Roundoff Errors

* Fix Roundoff Errors (continued)

* Fix Bug (RZ)

* `Stencil.py`: Follow PEP 8 Coding Style (ECP-WarpX#3055)

* `Stencil.py`: Follow PEP 8 Coding Style

* Commit Suggestion by @dpgrote

* Perlmutter: Boost Software Module (QED) (ECP-WarpX#3053)

* Perlmutter: Boost

Document a compatible Boost module on Perlmutter.
This is needed for detailed table generation for the QED module
(`WarpX_QED_TABLE_GEN=ON`).

* CMake: Update PICSAR

Include a fix for a compile error on CPU for QED table gen.

* Docs: Ascent 0.8.0 on Summit (ECP-WarpX#3057)

Update the Ascent installation location to use Cyrus' new install
for us.

* AMReX: Weekly Update (ECP-WarpX#3059)

* Doc: PICMI HPC System Update Requirements (ECP-WarpX#3060)

Since these requirements (i.e., PICMI) change quite rapidly, document
the line close to the `pip` install line.

* Add profiling to ParticleBoundaryBuffer::gatherParticles (ECP-WarpX#3061)

This turned out to be a major portion of a particle-heavy simulation,
and was being entirely attributed to WarpX::Evolve().

* Update CUDA repo key (ECP-WarpX#3069)

Nvidia has made changes in the signing keys.

https://forums.developer.nvidia.com/t/notice-cuda-linux-repository-key-rotation/212771

Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
Co-authored-by: Roelof <roelof.groenewald@modernelectron.com>
Co-authored-by: Tiberius Rheaume <35204125+TiberiusRheaume@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
Co-authored-by: David Grote <grote1@llnl.gov>
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
Co-authored-by: lgiacome <lorenzo.giacome@cern.ch>
Co-authored-by: Ryan Sandberg <RSandberg@lbl.gov>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Yinjian Zhao <yinjianzhao@lbl.gov>
Co-authored-by: Yinjian Zhao <yin@Yinjians-MacBook-Air.local>
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
Co-authored-by: Phil Miller <phil@intensecomputing.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: documentation Docs, readme and manual component: third party Changes in WarpX that reflect a change in a third-party library
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant