Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • SWIFTsim SWIFTsim
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 57
    • Issues 57
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 21
    • Merge requests 21
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • SWIFT
  • SWIFTsimSWIFTsim
  • Merge requests
  • !678

Improvements to the drift all

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Matthieu Schaller requested to merge smarter_drift_all into master Nov 19, 2018
  • Overview 1
  • Commits 5
  • Changes 6

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 Nov 19, 2018 by Matthieu Schaller
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: smarter_drift_all