Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
I IPPL
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 18
    • Issues 18
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Metrics
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OPAL
  • Libraries
  • IPPL
  • Issues
  • #7

Closed
Open
Created Oct 23, 2020 by frey_m@frey_mMaintainer57 of 76 tasks completed57/76 tasks

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
    • periodic boundary condition for halo exchange (see !64 (merged))
    • add boost collectives in the communicator class
  • 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
  • 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
  • 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)
Edited Apr 02, 2021 by frey_m
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking