Skip to content
Snippets Groups Projects

Improvements to the drift all

Merged Matthieu Schaller requested to merge smarter_drift_all into master

Some changes to drift_all to improve performance:

  • When recursing, abort early if there are no particles of that type in the cell.
  • Split the drift_all into three different mappers, part, gpart, multipoles.
  • Call the part/gpart ones only on local cells, the multipole one on local and foreign cells with tasks.

This makes the drift all ~35% faster on the EAGLE-50 with cosmo+grav+hydro (1.42s per call vs. 1.01s).

I have also moved all the drift_all related functions to a separate file to try to improve the code's maintainability. This makes the code review a bit more tricky but the changes highlighted above can be seen by comparing c4bf98ea...97c99293

Edited by Matthieu Schaller

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
Please register or sign in to reply
Loading