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

Memaster update to latest upstream development #118

Merged
merged 44 commits into from
Dec 14, 2021

Commits on Dec 8, 2021

  1. C++17, CMake 3.17+ (ECP-WarpX#2300)

    * C++17, CMake 3.17+
    
    Update C++ requirements to compile with C++17 or newer.
    
    * Superbuild: C++17 in AMReX/PICSAR/openPMD-api
    
    * Summit: `cuda/11.0.3` -> `cuda/11.3.1`
    
    When compiling AMReX in C++17 on Summit, the `cuda/11.0.3` module
    (`nvcc 11.0.2211`) dies with:
    ```
    ... Base/AMReX_TinyProfiler.cpp
    nvcc error   : 'cicc' died due to signal 11 (Invalid memory reference)
    nvcc error   : 'cicc' core dumped
    ```
    
    Although this usually is a memory issue, it also appears in `-j1`
    compiles.
    ax3l authored Dec 8, 2021
    Configuration menu
    Copy the full SHA
    6577874 View commit details
    Browse the repository at this point in the history
  2. Replace AMREX_SPACEDIM: Evolve & FieldSolver (ECP-WarpX#2642)

    * AMREX_SPACEDIM : Boundary Conditions
    
    * AMREX_SPACEDIM : Parallelization
    
    * Fix compilation
    
    * AMREX_SPACEDIM : Initialization
    
    * Fix Typo
    
    * space
    
    * AMREX_SPACEDIM : Particles
    
    * AMREX_SPACEDIM : Evolve and FieldSolver
    prkkumar authored Dec 8, 2021
    Configuration menu
    Copy the full SHA
    583c78e View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2021

  1. C++17: structured bindings to replace "std::tie(x,y,z) = f()" (ECP-Wa…

    …rpX#2644)
    
    * use structured bindings
    
    * std::ignore equivalent in structured bindings
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    lucafedeli88 and ax3l authored Dec 9, 2021
    Configuration menu
    Copy the full SHA
    f4dc5eb View commit details
    Browse the repository at this point in the history
  2. Perlmutter: December Update (ECP-WarpX#2645)

    Update the Perlmutter instructions for the major update from
    December 8th, 2021.
    ax3l authored Dec 9, 2021
    Configuration menu
    Copy the full SHA
    a7ef28c View commit details
    Browse the repository at this point in the history
  3. 1D tests for plasma acceleration (ECP-WarpX#2593)

    * modify requirements.txt and add input file for 1D Python pwfa
    
    * add 1D Python plasma acceleration test to CI
    
    * picmi version
    
    * USE_PSATD=OFF for 1D
    
    * Update Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    
    * Update Regression/WarpX-tests.ini
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    
    * Cartesian1D class in pywarpx/picmi.py
    
    * requirements.txt: update picmistandard
    
    * update picmi version
    
    * requirements.txt: revert unintended changes
    
    * 1D Laser Acceleration Test
    
    * Update Examples/Physics_applications/laser_acceleration/inputs_1d
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    
    * Update Examples/Physics_applications/plasma_acceleration/PICMI_inputs_plasma_acceleration_1d.py
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    
    * add data_list to PICMI laser_acceleration test
    
    * increase max steps and fix bug in pywarpx/picmi.py 1DCartesian moving window direction
    
    * add data_lust to Python laser acceleration test
    
    * picmistandard update
    
    Co-authored-by: Prabhat Kumar <prabhatkumar@kraken.dhcp.lbl.gov>
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    3 people authored Dec 9, 2021
    Configuration menu
    Copy the full SHA
    f322cfc View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2021

  1. CMake 3.22+: Policy CMP0127 (ECP-WarpX#2648)

    Fix a warning with CMake 3.22+.
    
    We use simple syntax in cmake_dependent_option, so we are compatible with the extended syntax in CMake 3.22+:   https://cmake.org/cmake/help/v3.22/policy/CMP0127.html
    ax3l authored Dec 10, 2021
    Configuration menu
    Copy the full SHA
    98c4bdf View commit details
    Browse the repository at this point in the history
  2. run_test.sh: Own virtual env (ECP-WarpX#2653)

    Isolate builds locally, so we don't overwrite a developer's
    setup anymore. This also avoids a couple of nifty problems that
    can occur by mixing those envs.
    
    Originally part of ECP-WarpX#2556
    ax3l authored Dec 10, 2021
    Configuration menu
    Copy the full SHA
    b363379 View commit details
    Browse the repository at this point in the history
  3. GNUmake: Fix Python Install (force) (ECP-WarpX#2655)

    Local developers and cached CI installs ddi never install `pywarpx`
    if and old version existed. The `--force` must be with us.
    ax3l authored Dec 10, 2021
    Configuration menu
    Copy the full SHA
    867b0d4 View commit details
    Browse the repository at this point in the history
  4. Add: Regression/requirements.txt

    Forgotten in ECP-WarpX#2653
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    8f93e01 View commit details
    Browse the repository at this point in the history
  5. Azure: set -eu -o pipefail

    Lol, that's not the default.
    We previously had `script` where it was the default.
    
    Introduced in ECP-WarpX#2615
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    661d03f View commit details
    Browse the repository at this point in the history
  6. GNUmake & WarpX-test.ini: python -> python3

    Consistent with all other calls to Python in tests.
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    a400a95 View commit details
    Browse the repository at this point in the history
  7. Fix missing checksums1d (ECP-WarpX#2657)

    * Docs: Fix missing Checksum Ref
    
    * Checksum: LaserAcceleration_1d
    
    * Checksum: Python_PlasmaAcceleration_1d
    ax3l authored Dec 10, 2021
    Configuration menu
    Copy the full SHA
    c33658f View commit details
    Browse the repository at this point in the history
  8. Regression/requirements.txt: openpmd-api

    Follow-up to 8f93e01
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    aa8e0b5 View commit details
    Browse the repository at this point in the history
  9. Azure: pre-install setuptools upgrade

    Might fix:
    ```
     - installing setuptools_scm using the system package manager to ensure consistency
     - migrating from the deprecated setup_requires mechanism to pep517/518
       and using a pyproject.toml to declare build dependencies
       which are reliably pre-installed before running the build tools
    
      warnings.warn(
    TEST FAILED: /home/vsts/.local/lib/python3.8/site-packages/ does NOT support .pth files
    
    You are attempting to install a package to a directory that is not
    on PYTHONPATH and which Python does not read ".pth" files from.  The
    installation directory you specified (via --install-dir, --prefix, or
    the distutils default setting) was:
    
        /home/vsts/.local/lib/python3.8/site-packages/
    
    and your PYTHONPATH environment variable currently contains:
    
        ''
    
    Here are some of your options for correcting the problem:
    
    * You can choose a different installation directory, i.e., one that is
      on PYTHONPATH or supports .pth files
    
    * You can add the installation directory to the PYTHONPATH environment
      variable.  (It must then also be on PYTHONPATH whenever you run
      Python and want to use the package(s) you are installing.)
    
    * You can set up the installation directory to support ".pth" files by
      using one of the approaches described here:
    
      https://setuptools.readthedocs.io/en/latest/easy_install.html#custom-installation-locations
    
    Please make the appropriate changes for your system and try again.
    ```
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    aa79f81 View commit details
    Browse the repository at this point in the history
  10. GNUmake installwarpx: mv -> cp

    No reason to rebuild. Make will detect dependency when needed.
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    c4c0d62 View commit details
    Browse the repository at this point in the history
  11. Python GNUmake: Remove Prefix Hacks

    FREEEEDOM. venv power.
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    70e19bd View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    3b00198 View commit details
    Browse the repository at this point in the history
  13. Python/setup.py: picmistandard==0.0.18

    Forgotten in ECP-WarpX#2593
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    0831cf5 View commit details
    Browse the repository at this point in the history
  14. Fix: analysis_default_regression.py

    Mismatched checksum file due to crude hard-coding.
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    80eb7c5 View commit details
    Browse the repository at this point in the history
  15. PWFA 1D: Fix output name

    Hard coded, undocumented convention: turns out this must be the name
    of the test that we define in the ini file. Logical, isn't it. Not.
    
    Follow-up to ECP-WarpX#2593
    ax3l committed Dec 10, 2021
    Configuration menu
    Copy the full SHA
    7cbe85f View commit details
    Browse the repository at this point in the history
  16. Docs: python3 -m pip & Virtual Env (ECP-WarpX#2656)

    * Docs: `python3 -m pip`
    
    Use `python3 -m pip`:
    - works independent of PATH
    - always uses the right Python
    - is the recommended way to use `pip`
    
    * Dependencies: Python incl. venv
    
    Backported from ECP-WarpX#2556.
    
    Follow-up to ECP-WarpX#2653
    ax3l authored Dec 10, 2021
    Configuration menu
    Copy the full SHA
    3526de2 View commit details
    Browse the repository at this point in the history
  17. CMake: 3.18+ (ECP-WarpX#2651)

    With the C++17 switch, we required CMake 3.17+ since that one introduced the `cuda_std_17` target compile feature.
    
    It turns out that one of the many CUDA improvements in CMake 3.18+ is also to fix that feature for good, so we bump our requirement in CMake. Since CMake is easy to install, it's easier to require a clean newer version than working around a broken old one.
    
    Spotted first by Phil on AWS instances, thx!
    ax3l authored Dec 10, 2021
    Configuration menu
    Copy the full SHA
    ec8df37 View commit details
    Browse the repository at this point in the history
  18. fix check for absolute library install path (ECP-WarpX#2646)

    Co-authored-by: Hannes T <s9105947@users.noreply.github.com>
    s9105947 and s9105947 authored Dec 10, 2021
    Configuration menu
    Copy the full SHA
    0d89cb6 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    61d7a8d View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2021

  1. Configuration menu
    Copy the full SHA
    c728b55 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1e8f869 View commit details
    Browse the repository at this point in the history
  3. ICC CI: Unbound Vars (setvars.sh) (ECP-WarpX#2663)

    Ignore:
    ```
    /opt/intel/oneapi/compiler/latest/env/vars.sh: line 236: OCL_ICD_FILENAMES: unbound variable
    ```
    ax3l authored Dec 11, 2021
    Configuration menu
    Copy the full SHA
    9153b97 View commit details
    Browse the repository at this point in the history
  4. QED openPMD Tests: Specify H5 Backend (ECP-WarpX#2661)

    We default to ADIOS `.bp` if available. Thus, specify HDF5 assumption
    ax3l authored Dec 11, 2021
    Configuration menu
    Copy the full SHA
    04f7e08 View commit details
    Browse the repository at this point in the history
  5. C++17: if constexpr for templates in ShapeFactors (ECP-WarpX#2659)

    * use if constexpr to replace template specialization
    
    * Rmove Interface Annotations
    
    * Replace static_assert with amrex::Abort
    
    * Add includes & authors
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    lucafedeli88 and ax3l authored Dec 11, 2021
    Configuration menu
    Copy the full SHA
    0ed4ccc View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2021

  1. ABLASTR Library (ECP-WarpX#2263)

    * [Draft] ABLASTR Library
    
    - CMake object library
    - include FFTW wrappers to start with
    
    * Add: MPIInitHelpers
    
    * Enable ABLASTR-only builds
    
    * Add alias WarpX::ablastr
    
    * ABLASTR: openPMD forwarding
    
    * make_third_party_includes_system: Avoid Collision
    
    * WarpX: depend on `ablastr`
    
    * Definitions: WarpX -> ablastr
    
    * CMake: Reduce build objects for ABLASTR
    
    Skip all object files that we do not use in builds.
    
    * CMake: app/shared links all object targets
    
    Our `PRIVATE` source/objects are not PUBLICly propagated themselves.
    ax3l authored Dec 12, 2021
    Configuration menu
    Copy the full SHA
    84d687d View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2021

  1. Configuration menu
    Copy the full SHA
    7415272 View commit details
    Browse the repository at this point in the history
  2. Python: Add 3.10, Relax upper bound (ECP-WarpX#2664)

    There are no breaking changes in Python 3.10 that affect us.
    
    Giving the version compatibility of Python and it's ABI stability,
    there is no need at the moment to provide an upper limit. Thus,
    relaxed now in general.
    ax3l authored Dec 13, 2021
    Configuration menu
    Copy the full SHA
    53e1ae1 View commit details
    Browse the repository at this point in the history
  3. Fixing the initialization of the EB data in ghost cells (ECP-WarpX#2635)

    * Using ng_FieldSolver ghost cells in the EB data
    
    * Removed an unused variable
    
    * Fixed makeEBFabFactory also in in WarpXRgrid.cpp
    
    * Fixed end of line whitespace
    
    * Undoing ECP-WarpX#2607
    lgiacome authored Dec 13, 2021
    Configuration menu
    Copy the full SHA
    9001fe9 View commit details
    Browse the repository at this point in the history
  4. Add PML Support for multi-J Algorithm (ECP-WarpX#2603)

    * Add PML Support for multi-J Algorithm
    
    * Add CI Test
    EZoni authored Dec 13, 2021
    Configuration menu
    Copy the full SHA
    efcf0d4 View commit details
    Browse the repository at this point in the history
  5. Fix the scope of profiler for SYCL (ECP-WarpX#2668)

    In main.cpp, the destructor of the profiler was called after
    amrex::Finalize.  This caused an error in SYCL due to a device
    synchronization call in the dtor, because the SYCL queues in amrex had been
    deleted.  In this commit, we limit the scope of the profiler so that its
    destructor is called before the queues are deleted.  Note that it was never
    an issue for CUDA/HIP, because the device synchronization calls in those
    backends do not need any amrex objects.
    WeiqunZhang authored Dec 13, 2021
    Configuration menu
    Copy the full SHA
    5d633f5 View commit details
    Browse the repository at this point in the history
  6. Add high energy asymptotic fit for Proton-Boron total cross section (E…

    …CP-WarpX#2408)
    
    * Add high energy asymptotic fit for Proton Boron total cross section
    
    * Write keV and MeV instead of kev and mev
    
    * Add @return doxystrings
    NeilZaim authored Dec 13, 2021
    Configuration menu
    Copy the full SHA
    53286db View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2021

  1. Add anisotropic mesh refinement example (ECP-WarpX#2650)

    * Add anisotropic mesh refinement example
    
    * Update benchmark
    RemiLehe authored Dec 14, 2021
    Configuration menu
    Copy the full SHA
    319c4b4 View commit details
    Browse the repository at this point in the history
  2. AMReX/PICSAR: Weekly Update (ECP-WarpX#2666)

    * AMReX: Weekly Update
    
    * Reset: PEC_particle, RepellingParticles, subcyclingMR
    
    New AMReX grid layout routines split grids until they truly reach
    number of MPI ranks, if blocking factor allows. This changes some of
    our particle orders slightly.
    ax3l authored Dec 14, 2021
    Configuration menu
    Copy the full SHA
    d435d0d View commit details
    Browse the repository at this point in the history
  3. Add load balancing test (ECP-WarpX#2561)

    * Added embedded_circle test
    
    * Add embedded_circle test files
    
    * Removed diag files
    
    * removed PICMI input file
    
    * Update to use default regression analysis
    
    * Added line breaks for spacing
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    
    * Added description
    
    * Fixed benchmark file
    
    * Added load balancing to test
    
    * Commented out load_balancing portion of test.
    This will be added back in once load balancing is fixed.
    
    * Add load balancing to embedded_boundary test
    
    * Updated checksum
    
    * Added embedded_circle test
    
    * Add embedded_circle test files
    
    * removed PICMI input file
    
    * Update to use default regression analysis
    
    * Added load balancing to test
    
    * Commented out load_balancing portion of test.
    This will be added back in once load balancing is fixed.
    
    * Add load balancing to embedded_boundary test
    
    * added analysis.py file in order to relax tolerance on test
    
    * Ensure that timers are used to update load balancing algorithm
    
    * Updated test name retrieval
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    Co-authored-by: Roelof <roelof.groenewald@modernelectron.com>
    Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
    4 people authored Dec 14, 2021
    Configuration menu
    Copy the full SHA
    6844ef6 View commit details
    Browse the repository at this point in the history
  4. Adding EB multifabs to the Python interface (ECP-WarpX#2647)

    * Adding edge_lengths and face_areas to the Python interface
    
    * Added wrappers for the two new arrays of data
    
    * Adding a CI test
    
    * Fixed test name
    
    * Added customRunCmd
    
    * Added mpi in test
    lgiacome authored Dec 14, 2021
    Configuration menu
    Copy the full SHA
    6c00c24 View commit details
    Browse the repository at this point in the history
  5. Refactor DepositCharge so it can be called from ImpactX. (ECP-WarpX#2652

    )
    
    * Refactor DepositCharge so it can be called from ImpactX.
    
    * change thread_num
    
    * Fix namespace
    
    * remove all static WarpX:: members and methods from DepositChargeDoIt.
    
    * fix unused
    
    * Don't access ref_ratio unless lev != depos_lev
    
    * more unused
    
    * remove function to its own file / namespace
    
    * don't need a CMakeLists.txt for this
    
    * lower case namespace, rename file
    
    * Refactor: Profiler Wrapper
    
    Explicit control for synchronization instead of global state.
    
    Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
    atmyers and ax3l authored Dec 14, 2021
    Configuration menu
    Copy the full SHA
    7cd660b View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    9685a3d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1a3e961 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b497f82 View commit details
    Browse the repository at this point in the history