Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
* Disable Separable Compilation (GPU)
Disable relocatable device code (RDC) aka "separable compilation".
We do not need it unless we use in situ vis.
This addresses issues with CUDA 11.3.0 on Perlmutter, reduces build
complexity and can potentially create more efficient code.
* Update AMReX
Update to eb2fb8eb11d4df88d5b6c04a68f2971a6c3b97f0, so we
include https://github.com/AMReX-Codes/amrex/pull/2083
|
|
Fix a build error with the latest AMReX version due to a missing include.
|
|
|
|
* CMake 3.20+ and CUDA: Modernized AMReX
Use modernized AMReX logic for CUDA builds with CMake 3.20+ as
supported by the latest AMReX updates.
* Resampling Trigger: Missing Include
AMReX update triggered missing include:
```
Source/Particles/Resampling/ResamplingTrigger.H(42):
error: namespace "amrex" has no member "Real"
```
* Update AMReX
Update AMReX to f7fd082bc8ab099d42784f69d6fe49dea3d388a7
|
|
* openPMD: Expose ADIOS2 Operators (Compressors)
Expose ADIOS2 Operators (at the moment: one operator max) in WarpX
inputs. This allows the user to select ZFP or Blosc compression
without changing the input file.
We can later on define short-hand notions for this. For now we give
the parameters control out for the expert user and document good
examples.
* Rename: adios2_operator (openPMD)
In that scheme, this only works with ADIOS2 atm.
|
|
* AMReX/PICSAR: 21.06
* WarpX: 21.06
|
|
* Docs: Ookami (Stony Brook)
Add Ookami build instructions.
* Add Suggestions from Luca
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
* Add 4x12 MPI/OMP
ups, forgot to add
* Ookami: Finalize Batch & Storage
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
|
|
* improve error msg
* eliminate final dot
|
|
Fix a warning from AMReX by migrating to the newer, recommended
interface.
|
|
* Use Python Indexing in Reduced Diags Headers
* Use Automatic Counter For Column Numbers
|
|
crashes if missing
|
|
Update instructions to fix new errors
|
|
|
|
* Added new option <diag>.openpmd_encoding, which can be either file/group/variable
With the encoding being group/variable, there will be one file generated for all
iterations.
* fixed tab
* fixed style
* backward compatibility for openpmd-api versions < 0.14
* eol
* Update Docs/source/usage/parameters.rst
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* used inline instead of lamba, encoding decision is moved up at FlushFormatOpenPMD
* making file based the default so scripts can work as is
* Update Docs/source/usage/parameters.rst
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Unify defaults of variables
Co-authored-by: Junmin Gu <junmin@login1.summit.olcf.ornl.gov>
Co-authored-by: Junmin Gu <junmin@login3.summit.olcf.ornl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
solve, so that the potential of the previous step is used as a starting guess for the solution of the Poisson equation. (#1968)
|
|
* Follow up on PR #1944
* Fix Bug, Use Better Parser Syntax
|
|
* Docs: Spock (OLCF)
Add an initial instruction on how to build on Spock (OLCF)
for AMD rocm GPUs (HIP).
This works around the missing Cray `PrgEnv-hip` that could be used
with the compiler wrappers.
* Missing -L: Via $CRAYLIBS_X86_64
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
|
|
|
|
* Add generic field reduction reduced diag
* Make ComputeFieldReduction public
* Apply suggestions from code review
* Apply suggestions from Luca and Edoardo
* Fix syntax error
* Fix typo in example input file
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
|
|
* CI: Cancel Prev. Build on Push
Save CI resources by canceling already running or waiting builds if
a PR is updated.
GH Action Ref.:
https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency
Azure Pipelines Ref.:
https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema%2Cparameter-schema
(Note: the default seems to be not to be "on" as documented)
* GH Action: Revert Concurrency / Cancel
Somehow stuck in CI, seems to be more to it.
|
|
|
|
If `warpx.eb_implicit_function = ...` is present in input parameters, Parser
will be used to initialize EB. For example,
```
warpx.eb_implicit_function = "max(max(max(x-0.5,-0.5-x), max(y-0.5,-0.5-y)), max(z-0.5,-0.5-z))"
```
specifies a box with boundaries at x=+-0.5, y=+-0.5 and z=+-0.5 and regular
domain inside the box.
```
warpx.eb_implicit_function = "-(x**2+y**2+z**2-0.2**2)"
```
specifies a solid sphere at (0,0,0) with a radius of 0.2.
|
|
|
|
* Call FillBoundary before momentum half-push at last timestep
* Call FillBoundary before momentum half-push at last timestep
* Update benchmarks
* Update benchmarks again
|
|
* Add ComputeMaxStep() function in WarpXInitData
* Avoid overflow in the static_cast
* Change overflow handling and update stop_time constistently with max_step
|
|
* Read boundary and set periodicity, enumerate BC types, added support for periodic
* separate particle and field boudnary structs
* PEC Etangential Bnormal and setting default pml=0
* eol
* add PEC and FieldBoundary routines
* eol
* remove duplicate struct
* update guard cells for PEC
* host device functions
* remove duplicate function
* fix compilation error by adding ;
* temporary logic to set PEC boundary
* eol
* add documentation for PEC and abort if PEC is used for RZ
* documentation for PEC functions
* remove print statements
* Adding field CI test for PEC for 3D with and without MR
* fix eol
* Apply suggestions from code review
* Update Docs/source/usage/parameters.rst
* Update Source/BoundaryConditions/WarpX_PEC.cpp
* particle PEC CI test
* rename analysis scripts for PEC
* use iside == 0 as condition
* ParallelFor over guard cells. Set field values on boundary and guard in the kernel
* ijk_guard not needed anymore
* remove unnecessary nbody generated by yt
* pi and clight are built-in
* cleanup
* eol
* fix bug in computing ig and ijk_valid
* bug fix in guard-cell update in PEC changes benchmark for particles
* fix bug in the ig compute
* reset particle PEC benchmark
* fix logic to set PEC with current interface
* adding a none type for RZ
* reset benchmarks for 2dLaserInjection, 2dgalilean_hybrid and 2dcomoving CI tests due to differences in PEC reflection
* ensure noz shape factor is used for RZ and k=0 for RZ
* fix XZ/RZ logic for Ey,Etheta,By,Btheta. Add ncomponent for RZ, generically.
* fix the field update for corner cases and mixed boundaries. rename ijk_valid to ijk_mirror since ijk_mirror need not be in valid region
* set GuardCell and Boundary cell flags
* fix compilation bug
* suppress unused variable warning
* eol whitespace
* fix doc
* Apply suggestions from code review
Co-authored-by: Andy Nonaka <AJNonaka@lbl.gov>
* RZ abort message
* reset benchmark after fixing guard-cell updates
* fix typo
* RZ doc
* Update Source/Utils/WarpXUtil.cpp
* Update Examples/Tests/PEC/inputs_particle_PEC_3d
* changes suggested from code-review
* set Enormal and Btangential in guard cell across PEC boundary
* add more info about guard cell update in the docs
* fix typo
* ijk mirror only if ig>0
* update benchmarks
* ignore unused k
* temporarily revert guardcell damping for Cartesian
* fix typo
* dont set Etangential and Bnormal to zero if field is not nodal on boundary
* set bindary int as boolean
* fix high to hi
* set default nox to 1
* particle shape for PEC test
* update benchmarks for 2D comoving and galilean
* reset benchmark for RZ test-cases
* Add in benchmarks generated by @EZoni
* Changing transverse boundaries to periodic for psatd galilean cases
* resetting benchmark for comoving_hybrid_2d and galilean_hybrid_2d
* at-least one guard cell must be filled for PEC
* abort if PEC is used for PSATD
* use new boundary interface to set none for rmin and rmax, since pec does not work for psatd
* Update Source/WarpX.cpp
* add doc mentioning PEC does not work for PSATD
* missing semicolon
* Update Source/BoundaryConditions/WarpX_PEC.H
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Update Source/BoundaryConditions/WarpX_PEC.H
* lengthy comment for normal and tangential components at domain boundaries
* eol fix
* grammar
* field_hi
* reset benchmarks
Co-authored-by: Andy Nonaka <AJNonaka@lbl.gov>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
The weighting attributes of the particle "weighting" record are fixed
by the standard. This fixes their values.
|
|
* New Parser capability: `if`
Add a new Parser capability, `if`. It takes three arguments and returns the
value of either the second or the third argumen depending on the first
argument. For example
if(abs(x) < 10, exp(-x), 0)
returns exp(-x) if abs(x) < 10, otherwise 0. Note that in case the
condition (i.e., the first arguemnt) is false, the second argument is not
evaluated.
* Fix a minor bug in computing the depth of ast
|
|
* Added support for mesh refinement
* openPMD MR: Cleanup
* Fix BTD
Move un-related streaming API changes out of this PR.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Add tests for the new BTD diagnostics, so that parallely working
developers can easier test this.
Currently covered features:
- field BTD (particles are still WIP)
- openPMD & plotfiles
|
|
factor (#1969)
|
|
* Docs: Debugging Workflow
Start a debugging workflow section.
Intentionally placed in the user-documentation to explain a
systematic way to check output files.
* Fix typos & improve details
* Fix wording about CUDA_LAUNCH_BLOCKING
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Andrew Myers <atmyers2@gmail.com>
|
|
|
|
Add a few new terms to our glossary that we tend to use often.
|
|
Update AMReX to https://github.com/AMReX-Codes/amrex/commit/6f1085a23de1f7ee1a5f92dd173e984c59839511
No changes im PICSAR since last update.
```
./Tools/Release/updatePICSAR.py
./Tools/Release/updateAMReX.py
```
|
|
Add `git` installation instructions where missing.
Minimal version: as required by GitHub these days.
Not added in Spack: because Spack already requires `git` to run.
|
|
* More Docs on How to Run CI Tests Locally
* Remove * After Name of Executables
* CI: WARPX_CI_NUM_MAKE_JOBS: Control -j
Add the `WARPX_CI_NUM_MAKE_JOBS` variable to overwrite the CI build
parallelism. Previously, we unconditionally overwrote this with "2",
which lead to the need to manually change the preparation scripts
when running locally with more build processes.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Summit/PPC64le: Numpy 1.19.0
The latest (default) numpy, release `1.20.3` fails to build with fancy compiler errors of the form
```
error: "AltiVec argument passed to unprototyped function"
```
Thus, recommend an older numpy release to user that actually builds: `1.19.0`
* numpy@summit: 1.19.5
tested and works, too
|
|
choose a reduced diag (#1946)
* replace a long list of if else with a map
* fixed bug
* enforce const correctness
* add missing includes
* Update Source/Diagnostics/ReducedDiags/MultiReducedDiags.cpp
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
|
|
|
|
|
|
being unreachable statements (#1957)
|
|
Build the latest release, which fixes AppleClang and DPC++ compilation problems.
|
|
* Implemented query and getArrWithParser
* Updated parameters.rst regarding expressions for multiple floats
|
|
|
|
|
|
* CI: Fix Broken Test (Old Input Syntax)
* CI: Disable HIP SP Temporarily
|