Age | Commit message (Collapse) | Author | Files | Lines |
|
* add bugprone-branch-clone to clang-tidy CI test
* Updating Inline Comments
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
* fix some build issues
* downgrade scipy version to what can install on Summit
* make sure to remove tmp build dir
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update
* Cleaning
---------
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>
|
|
|
|
solver (#4034)
* explicitly check field `IndexType` appropriateness when using hybrid-PIC solver
* fix typo
|
|
solver (#4033)
|
|
WarpX::Evolve (#4032)
|
|
directly to the particles with the hybrid-PIC solver (#4020)
|
|
Make sure the Python environment is active on very first dependency install, before we start compiling.
|
|
* Doc: HPC3 (UCI) HDF5 & GPU Visibility
Switch the HDF5 module to one that is picked up well
by our build logic.
Slurm is not well configured to properly address GPU visibility
per MPI rank. Thus, we define the node layouts during compile-time.
* GPUS_PER_NODE: In CMake
Looks like there is no env var support.
* GPU Visibility: Via SLURM_LOCALID
Not necessarily ideally pinned, but a good start.
|
|
Document the IPAC22 proceeding article by Tan et al.
|
|
|
|
Document the IPAC23 paper, which uses WarpX to train an ML model
for ImpactX.
|
|
|
|
* move MPIInitHelper into ablastr
* fix bug
* fix bug
|
|
|
|
* Fixes to remove compilation warnings
* Further cleanup in FieldProbe.cpp
* Fix Bug, Use Assign
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Update HPC machine instructions to enable multi-dims,
PSATD and QED table non-defaults for all machines where these
dependencies are met. This ensures users will get an as-feature-
complete-as-possible install.
|
|
|
|
* Add documentation describing handling of PICMI input
* Update Docs/source/developers/python.rst
* Use the term "layers"
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
Over the years, I documented w/ contributions a series of cheat
sheets / quick-references on how to use various batch systems to
monitor, change, control, interact-with or abort jobs for various
HPC batch systems.
Since I found myself looking this sheet up regulary in the PIConGPU
documentation, I moved some pages over here, updated them, and added
further batch systems we encountered recently.
|
|
* Doc: HPC3 at UCI
Document how to install and run GPU-accelerated WarpX on HPC3 (UCI).
* Update Batch Script
- mpirun over srun
- set OMP_NUM_THREADS
* Jupyter Service
* Slurm: Link System Examples/Notes
|
|
Add a copy button to every code block in the docs.
|
|
|
|
Clean the temporary build directories of dependencies immediately
after successful install, to save on FS quotas.
|
|
|
|
|
|
|
|
|
|
Will otherwise jump the 2hr walltime of a 1node job.
|
|
This streamlines the HPC dependency installation docs and makes sure one
does not forget to configure the `$proj` environment variable during
setup.
The new structure is would then be used blueprint for other systems.
|
|
This streamlines the Summit (OLCF) docs to use install
helper scripts. It also adds a step to install pyTorch
on ppc64le with CUDA acceleration, consistent with our
main environment for our codes.
|
|
|
|
|
|
* Added external field loading from file to picmi.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update Python/pywarpx/picmi.py
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
* Added documentation
* Removed init, documentation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Updated picmi version in requirements.txt
* Updated picmi version in setup.py
* Updated picmi version in requirements.txt
* Updated name of call to picmi class
* Adapted CI test for PICMI field loading from file
* Added PICMI input script
* Added .json file with new file name
* fixed small errors
* Fixed error in input script
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Removed old comments from code
* fixed import, spacing in input script
* fixed spacing
* cleaned up input script
* fixed typo
* removed blocking factor
* fixed name of test
* correct ion species name
* Added initial field to sim object
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
|
|
|
|
By default, unused on ROCm, for instance.
|
|
|
|
* Doc: Frontier (OLCF) hipcc
On Frontier, we switch back to `hipcc` as compiler since we see:
- HPE/Cray compilers have the performance regression we saw for 5.3-5.4
even when we load the ROCm 5.2 modules in the latest CCE programming
environment (PE)
- ROCm 5.5 still has the performance regressions
This also adds RZ+PSATD dependencies of BLAS++ & LAPACK++ and Python
dependencies, and modernizes/streamlines the dependency install.
* Add Absolute Path
|
|
Regression to #3965
|
|
Update especially conda for macOS OpenMP dependencies.
|
|
* Docs: Debian/Ubuntu no-MPI
Add details how to install dependencies with `apt` w/o MPI.
Add details how to compile w/ and w/o MPI.
* General Cleaning
|
|
* Add Frontier Checkpointing and IO Warning
We observed that I/O and checkpointing can be critically slow at scale
with the default settings. We recommend testing and making changes to striping
or AMReX checkpointing.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* Add python script to update benchmarks from Azure output
* Update Regression/Checksum/update_benchmarks_from_azure_output.py
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Cleaner python script
* Remove empirical numbers and read and write the json files once
* Also read dashes in test names
* Move script to Tools/DevUtils folder
* Add documentation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Directly parse the new file
* Apply suggestions from code review
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
---------
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
|
|
* add clang-tidy workflow
* fix missing newline
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* make clang.14.sh executable
* remove non explicitly selected checks
* complete list of dependencies
* fix bug
* specify path of clang-tidy file
* fix bug
* add new check
* remove one check
* add magic numbers check
* removed one check
* keep only one check
* Docs: Conda Dev w/ Boost (#3911)
Add the `boost` package to the conda developer environment.
Used for QED table generation.
* Fix typo in Adastra cluster documentation (#3918)
* add back three checks
* prepare clang-tidy wrapper
* actually use clang-tidy in the script
* test
* fix bug
* actually use clang-tidy
* fixed bug
* fixed bug
* fixed bug
* fixed bug
* remove all checks except the selected 3
* fixed bug
* fixed bug
* fixed bug
* enforce const correctness using clang-tidy
* remove one check
* Fix Concurrency Issue
* BLAS++/LAPACK++ for RZ+PSATD
* Build all 4 WarpX DIMS
* add few echo for test purposes
* try to debug mysterious error
* don't test RZ with clang-tidy
* add back RZ test
* add some const
* fix bug
* check also header files
* remove header filter since it does not work as expected
* fixed bug
* check also WarpX headers
* fix bugs
* continue enforcing const correctness
* continue enforcing const correctness
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixed bug
* fix bugs and add new const
* clean .clang-tidy
* make regex more precise according to Weiqun's suggestion
* add more const
* fix bugs
* fix bug
* silence warning on float comparison
* fixed bug
* fixed bugs
* fix bug and add const
* fixed bugs
* fix bug
* fix bug
* fix bug
* fixed bug
* fix bug
|
|
* Docs: TAE
Acknowledge TAE contributions & reflect moved core developers such as @roelof-groenewald :)
* Update TAE Technologies
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
* Update acknowledge_us.rst
---------
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
|
|
* Cleanup unused parts of WarpX Python interface
* Fix breaking Python import
|
|
* Add "None" as an option for the Maxwell solver
* fixed some of the reasons for failing CI tests
* no longer pass `do_electrostatic` to `GuardCellManager`
* renamed `MaxwellSolverAlgo` to `ElectromagneticSolverAlgo`
* rename `do_electrostatic` to `electrostatic_solver_id`
* rename `maxwell_solver_id` to `electromagnetic_solver_id`
* start of hybrid solver logic
* changes requested during PR review
* remove `do_no_deposit` from tests without field evolution
* added `HybridSolveE.cpp`
* bulk of the hybrid solver implementation
* mostly reproduce 1d cold ion mirror results
* ion Bernstein modes reproduced with this version
* fix bug with reduced diagnostic FieldProbe in 1d
* added hybrid solver installation to PICMI and added example script generating ion-Bernstein modes
* enable the use of `FieldProbe` default parameter values
* use default field-probe values
* steady progress
* add `do_not_push` flag to picmi
* possibly use nodal fields
* added extra multifab for current calculated from curl B
* added `CalculateTotalCurrent` functions
* rewrote implementation to calculate J x curl B on a nodal grid first
* fill boundary for auxiliary MFs used during hybrid E solve
* properly handle nonzero resistivity
* updated hybrid model example
* clean up example scripts
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fixed invalid memory access for GPU and other code cleanups
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* refinements on the example scripts
* added ion beam instability example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* added EM modes and ion beam examples to CI test suite
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* started docs section on the hybrid model
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* more progress on documentation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* added ion Landau damping verification test / example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* add checksum benchmark for Landau damping example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* added fields.py wrapper to access total current density in hybrid case
* refactored the charge deposition fix to be performed with the field data rather than individual particles
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* also correct current density at PEC boundary
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* made resistivity a parsed function of `rho`
* work on PEC boundary condition
* corrections pointed out during code review
* fix build fails due to unused variables
* fix issue with GPU builds
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* actually apply rho boundary correction in EM case
* take one sided derivative at PEC boundary when calculating div Pe
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* actually apply rho boundary correction in EM case
* removed specific treatment of E-field on PEC boundary for Ohm's law solver
* first round of CI fixes
* second round of CI fixes
* added description of deposition logic with PEC boundaries to documentation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* third round of CI fixing
* move J and rho boundary handling to after `SyncRho` and `SyncCurrent` calls
* properly order the application of boundary conditions on rho, for electrostatic simulations
* fourth round of CI fixing
* moved calculation of total current (Ampere's law) to seperate function
* add random seed specification to `picmi`
* code clean-up -> renamed hybrid model to hybrid-PIC model
* added magnetic reconnection example
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* code cleanup & benchmark updates
* update PICMI class name for hybrid solver to `HybridPICSolver`
* don't apply J field boundary in
* don't apply J field boundary in `MultiParticleContainer::DepositCurrent`
* apply changes requested during code review
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Loosen tolerance on failing CI test
* Removed unused variable
* code cleanup: make use of `MultiParticleContainer::DepositCurrent` in `AddSpaceChargeFieldLabFrame`
* switch to using a rho_fp_temp multifab for old and averaged charge density field, also no longer require particles to move only one cell per step
* use `ablastr::coarsen::sample` namespace in `HybridPICSolveECartesian`
* switched to using `MultiFab::LinComb` instead of self written GPU kernels to calculated averaged or extrapolated current density
* add verbosity flag for the Ohm solver tests
* deal with fine versus coarse patches
* add theoretical instability growth / damping rates to hybrid-PIC examples
* update ion-Bernstein mode plot in documentation
* move the `ApplyRhofieldBoundary` call to after `SumBoundary`
* use a uniform calculation for the number of cells a given index is from the boundary
* remove unused variable
* limit number of ghost cells updated during PEC BC application
* the number of ghost cells to consider depends on whether the field is nodal or not
* attempt 1 to fix failing CI tests
* attempt 2 to fix failing CI tests and code cleanup
* attempt 3 to fix failing CI tests
* attempt 4 to fix failing CI tests and docs cleanup
* switched to using bibtex citations
* move hybrid solver input parameters documentation to its own section
* clean up ion beam instability analysis script
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Apply suggestions from code review
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* add inline comments describing the meaning of each argument for the `amrex::MultiFab::LinComb` calls used
* make `HybridPICSolver` a child class of `picmistandard.base._ClassWithInit`
* apply changes requested during code review
* add warning about using hybrid-PIC solver with Esirkepov current deposition
* add Stanier 2020 reference to recommend linear particles with hybrid-PIC
* add call to FillBoundary for `current_fp` - needed for accurate interpolation to nodal grid
* changes requested from code review
* Apply suggestions from code review
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* include physics accuracy check for ion beam instability; switch CI tests to use direct current deposition
* reset benchmark values after switching to direct current deposition
* update ion beam instability benchmark
* minor changes requested during code review
* remove guard cells for `enE_nodal_mf` as well as corresponding `FillBoundary` call
* refactor: moved hybrid-PIC specific multifabs and `CalculateElectronPressure()` to `HybridPICModel`
* add assert that load balancing is not used with the hybrid-PIC solver since the new multifabs are not yet properly redistributed
* move `CalculateCurrentAmpere` to `HybridPICModel`
* refactor: moved `HybridPICSolveE` to `HybridPICModel` class
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* replace amrex::Abort with WarpX macros
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* adding back missing include
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* use amrex::Abort in a GPU kernel
* bump precision
|