Releases: IPPL-framework/ippl
IPPL-3.2.0
Major changes
- Solvers reorganized #230
- MPI interface changed #225
- New distribution class for random particles generation #229
- New PIC Manager and modularization of ALPINE examples #240
- Improved Vico-Greengard open BC Poisson solver with DCT #231
- Polynomial preconditioners for CG solver #251
- Field sum #247
- Tuple class #250
Minor changes
IPPL-3.1.0
Major changes
IPPL moved from gitlab to github with this release hence many of the merged MRs point to the read only version of gitlab
- Mixed execution spaces https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/188
- Mixed precision https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/154
- Extension of unit tests https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/201
- FFT optimizations https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/192
- Removal of ippl class https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/181
- Long range part of P3M solver https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/170
- MPI buffers moved to particle attributes #215
Minor changes
- Use Kokkos for math constants and mathematical functions https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/165
- Various bug fixes
IPPL-3.0.1
Fixes 1D ALPINE and a bug in the CG solver and adds the ability to create copies of fields without going through expressions (!171). ALPINE now lets the user choose CG or FFT for any dimensionality, where supported. Fixes CPU-build detection and uses C++20 accordingly. Buffer overallocation is now an IPPL-wide command line argument.
IPPL-3.0.0
IPPL's 3.0.0 release introduces rank independence. All IPPL entities and operations now support an arbitrary1 number of dimensions, where meaningful. FFTs are externally handled and only support 2D and 3D fields. Curl and the cross product remain exclusive to 3D entities for this release. Unit tests verify functionality for entities in 1D up to 6D1. This release also adds wrapper functions for Kokkos' parallel dispatch, allowing the user to write rank independent kernels as well by taking advantage of IPPL's new functor wrapper object.
Additional changes:
- Adds unit tests for FFTs
- Adds ranged iteration for
ippl::Vector
andippl::NDIndex
- Buffer overallocation factor is now an IPPL-wide command line argument
IPPL-2.4.0
Scaling_study_for_Alpine_paper
This is the version used for the scaling study. It uses Kokkos 3.5.00 and Heffte 2.2.0
IPPL-2.3.1
Minor changes/Bug-fixes
- Removed some left over boost calls and directory inclusions in test programs of IPPL-2.3.0
IPPL-2.3.0
Major Changes
- Boost dependency is removed and we use std::chrono for the timers instead of boost timers. Only the wall time
is measured and reported. - FFT interface updated to include new options from heffte v 2.2.0. Also, the updated interface can do Sine and Cosine
transforms. - Solvers submodule is merged in to the IPPL repo itself. This is for simplicity. Consequently a new cmake flag
ENABLE_SOLVERS
has to be turned on to compile the solvers. - The plasma physics mini-apps from the ALPINE project has been moved to a separate directory named
alpine
. The idea behind this is test directory is supposed to be a playground for testing things and ALPINE is an application based on IPPL. A new cmake flagENABLE_ALPINE
needs to be turned on for compiling these mini-apps which in turn requiresENABLE_SOLVERS=ON
andENABLE_FFT=ON
.
Minor Changes
- The cmake flags
ENABLE_IPPLTESTS
andBUILD_UNIT_TESTS
have been changed toENABLE_TESTS
andENABLE_UNIT_TESTS
for consistency reasons.
IPPL-2.2.0
Version used to obtain CPU and GPU benchmark results on Piz Daint for Alpine. Requires the specific heFFTe commit e08e630 in the master (almost similar to heffte v 2.1.0 or less with a bug fix).
Major changes
- Particle load balancing using orthogonal recursive bisection added (semester project of M. Ligotino)
- All periodic BCs for scatter and gather operations implemented
- In the solvers submodule, CG solver (Bachelors' thesis of A. Vinciguerra) and FFT-based free space Poisson
solvers such as Hockney-Eastwood and Vico-Greengard (Masters' thesis of S. Mayani) integrated - More mini-apps such as Landau damping and two-stream/bump-on-tail instability added
Minor changes/bug-fixes
- BC application for particles made faster by avoiding branching
- Bug in the time integration of Penning trap corrected
- Host/device warnings for GPU compilations fixed
IPPL-2.1.0
Memory optimizations: Introduce the buffer factory interface, allowing MPI communication buffers to be allocated a single time. Redesign particle deletion to work in-place. Kokkos buffer resizing no longer unnecessarily preserves old data. Reduce host-space allocations for MPI requests.
Structural changes: Add the plasma mini-apps and remove or redesign redundant test programs. Introduce the FFT solver.