**Code:** - [x] use `Kokkos::View` for fields (see !2) - [x] use `Kokkos::View` for particles (see !3) - [x] add more field functions (see !4) - [x] refactoring field layouts (see !19) - [x] ~~refactoring particle layouts~~ - [x] boundary conditions for particles (see !9 and !16) - [x] boundary conditions for fields (see !8) - [x] new expression interface for index classes - [x] Index and IndexLines (see !26) - [x] **code cleaning:** - [x] remove DataSource (see !5) - [x] remove SubField and SubParticle classes (see !6) - [x] remove deprecated Field and RNG classes (see !21) - [x] remove Disc* classes (see !22) - [x] remove *Debug files (see !23) - [x] remove unused AppTypes (see !24) - [x] remove PETE (see !28) - [x] remove deprecated Particle classes (see !25) - [x] remove IpplMessageCounter (see !27) - [x] major code review of Index and NDIndex class (see !59) - [x] remove deprecated Mesh classes (see !29) - [x] remove leading `Kokkos_` from field class (see !30) - [x] remove deprecated Ippl options (see !31) - [x] remove IpplCounter class (see !33) - [x] remove deprecated Message classes (see !46) - [x] remove Vec.h (see !47) - [x] remove IpplParticleBase class (see !48) - [x] replace ParticleSpatialLayout and RegionLayout (see !49) - [x] remove deprecated DomainMap class (see !50) - [x] remove unused classes (see !51) - [x] remove deprecated IPPL tests (see !52) - [x] cleanup NDRegion (see !53) - [x] cleanup PRegion (see !54) - [x] rename MPI files (see !55) - [x] remove NamedObj.h (see !61) - [x] remove deprecated functions of ParticleSpatialLayout (see !63) - [x] cleanup UniformCartesian (see !79) - [ ] **FFT:** - [x] link to HeFFTe (see !69) - [x] add FFT transform interface (see !70) - [ ] implement FFT transform with Kokkos - [x] remove deprecated FFT interface of IPPL 1.0 (see !71) - [x] reduction operations for particle classes (see !32) - [ ] **domain decomposition:** - [ ] add new load balancing interface - [ ] remove deprecated load balancing - [ ] **inter-node communication:** - [ ] update general MPI interface: - [x] remove `CommCreator` class (see !37) - [x] remove unused members and unused class CommSendInfo (see !38) - [x] use of Boost.MPI (see !39) - [x] sending / receiving particle data (see !43) - [x] ~~sending / receiving field data~~ - [x] field halo exchange (see !62) - [x] collective operations (e.g. reduce) (see !66) - [ ] improve the way in which particle update is called - [ ] recursive bisection algorithm - [ ] non-blocking receive for particles - [ ] non-blocking receive for field data (halo exchange) - [ ] send field data as 3d data (i.e., do not serialize as 1d arrays) - [x] make HaloCells dimension independent (see !157) - [x] periodic boundary condition for halo exchange (see !64) - [x] ~~add boost collectives in the communicator class~~ (we do not use Boost anymore) - [x] enhance Timer class to catch Kokkos kernels (see !40) - [x] use Boost program options (see !57) **Tests:** (GTest: !11) - [x] add unit tests for fields (see !11, !88, !97) - [x] add unit tests for particles (see #12) - [x] add unit tests for PIC operations: - [x] scatter (see !15) - [x] gather (see !36) - [ ] add unit tests for index classes - [x] add unit test for FFT (see !157) - [x] add unit test for field BCs (see !44) - [x] add unit test for particle update (see !45) **Documentation:** - [x] add old manual (see !10) - [ ] Doxygen (see !56)
Code:
Kokkos::Viewfor fields (see !2)Kokkos::Viewfor particles (see !3)refactoring particle layoutsKokkos_from field class (see !30)CommCreatorclass (see !37)sending / receiving field dataadd boost collectives in the communicator class(we do not use Boost anymore)Tests: (GTest: !11)
Documentation: