Code indexing in gitaly is broken and leads to code not being visible to the user. We work on the issue with highest priority.

Skip to content
Snippets Groups Projects

Mixed execution spaces

Merged vinciguerra_a requested to merge vinciguerra_a/ippl:mixed-exec into master
All threads resolved!

The IPPL types now forward variadic parameters to their internal views, allowing the user to choose the behavior of each component. It is also possible for users to disable particle IDs if these are not needed for the application.

This MR also makes IPPL dependent on C++20, so compilation for Gwendolen will not be possible after merging unless the machine is updated. The CMakeLists is updated to reflect this. Warnings about host functions are also suppressed for debug builds to remove warnings about assertions in device functions.

Some of the indicated changes are just formatting changes. These are also present in !176 (merged). Once this is merged, the number of changes reported for this MR should also decrease.

The Landau damping mini-app is updated to use standard library threading to achieve concurrent execution on CPUs and GPUs (data logging occurs on CPUs in parallel to GPU timestepping; requires an additional command line argument). Timer fences are controlled via command line parameter and are disabled by default if multiple accelerators are present in the build.

Closes #175 (closed).

Edited by vinciguerra_a

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • frey_m
  • frey_m
  • Maintainer

    @vinciguerra_a Looks good in general, but there are a few helper functions that would benefit from some documentation.

  • vinciguerra_a added 2 commits

    added 2 commits

    • 763ec5e7 - Use Kokkos math in kernel
    • 9c1a1db3 - Add docstrings for type utilities

    Compare with previous version

  • vinciguerra_a added 2 commits

    added 2 commits

    • 82f55ae8 - Remove fence for particle BCs
    • 00cdca15 - Log Landau data at intervals

    Compare with previous version

  • vinciguerra_a added 2 commits

    added 2 commits

    • 0848d059 - Scale timestep by logging period
    • a282b4a2 - Rename logging period variable

    Compare with previous version

  • vinciguerra_a added 3 commits

    added 3 commits

    • 45f6cce9 - Control timer fences at runtime
    • e23862ea - Warn if timer fences not set
    • a610025d - Can enable or disable timers

    Compare with previous version

  • vinciguerra_a marked this merge request as ready

    marked this merge request as ready

  • vinciguerra_a changed the description

    changed the description

  • vinciguerra_a added 1 commit

    added 1 commit

    • 24a2b8e3 - Fix logging period for other ALPINE apps

    Compare with previous version

  • vinciguerra_a added 1 commit

    added 1 commit

    • 3c0a8800 - Use active enable for particle IDs

    Compare with previous version

  • vinciguerra_a added 3 commits

    added 3 commits

    • d32bd3f4 - Check particle conservation every time step
    • f4ed8343 - Add overload for Landau without mixed exec
    • dcf36b65 - Create separate program for mixed exec Landau

    Compare with previous version

  • vinciguerra_a resolved all threads

    resolved all threads

  • adelmann approved this merge request

    approved this merge request

  • merged

  • vinciguerra_a mentioned in commit ffa9e9cc

    mentioned in commit ffa9e9cc

  • vinciguerra_a mentioned in merge request !195 (merged)

    mentioned in merge request !195 (merged)

  • vinciguerra_a mentioned in issue #189

    mentioned in issue #189

  • Please register or sign in to reply
    Loading