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