Skip to content

Releases: IPPL-framework/ippl

IPPL-3.2.0

26 Mar 13:01
dcd08e2
Compare
Choose a tag to compare

Major changes

  1. Solvers reorganized #230
  2. MPI interface changed #225
  3. New distribution class for random particles generation #229
  4. New PIC Manager and modularization of ALPINE examples #240
  5. Improved Vico-Greengard open BC Poisson solver with DCT #231
  6. Polynomial preconditioners for CG solver #251
  7. Field sum #247
  8. Tuple class #250

Minor changes

  1. Cleanup of unused files from IPPL v 1.0 and some bug fixes #214
  2. Updated unit test framework #233
  3. MPI tags improved (still not very robust) #268
  4. FFT warmups #253
  5. Null solver (for OPAL drift) #252
  6. Bug in communicator fixed #244

IPPL-3.1.0

29 Sep 09:19
5d805b8
Compare
Choose a tag to compare

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

  1. Mixed execution spaces https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/188
  2. Mixed precision https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/154
  3. Extension of unit tests https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/201
  4. FFT optimizations https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/192
  5. Removal of ippl class https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/181
  6. Long range part of P3M solver https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/170
  7. MPI buffers moved to particle attributes #215

Minor changes

  1. Use Kokkos for math constants and mathematical functions https://gitlab.psi.ch/OPAL/Libraries/ippl/-/merge_requests/165
  2. Various bug fixes

IPPL-3.0.1

19 Aug 12:01
Compare
Choose a tag to compare

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

19 Aug 12:01
Compare
Choose a tag to compare

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 and ippl::NDIndex
  • Buffer overallocation factor is now an IPPL-wide command line argument
  1. Kokkos only supports up to 6D range policies, so IPPL entities can be 1-dimensional up to 6-dimensional. 2

IPPL-2.4.0

19 Aug 12:01
Compare
Choose a tag to compare

Major changes

  • Use Kokkos::complex directly in Heffte (#115)
  • Added curl operator (#124)
  • Added clang format (!155, !159, !160)
  • Removed hard-coded types (#142)
  • Added Hessian operator (#135)
  • Added Bi-harmonic solver (#137)

Minor changes

Scaling_study_for_Alpine_paper

19 Aug 12:01
Compare
Choose a tag to compare

This is the version used for the scaling study. It uses Kokkos 3.5.00 and Heffte 2.2.0

IPPL-2.3.1

19 Aug 12:01
Compare
Choose a tag to compare

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

19 Aug 12:01
Compare
Choose a tag to compare

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 flag ENABLE_ALPINE needs to be turned on for compiling these mini-apps which in turn requires ENABLE_SOLVERS=ON and ENABLE_FFT=ON.

Minor Changes

  • The cmake flags ENABLE_IPPLTESTS and BUILD_UNIT_TESTS have been changed to ENABLE_TESTS and ENABLE_UNIT_TESTS for consistency reasons.

IPPL-2.2.0

19 Aug 12:01
Compare
Choose a tag to compare

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

19 Aug 12:01
Compare
Choose a tag to compare

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.