Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimization of nearest location transfer for nearest-subapp #28785

Draft
wants to merge 8 commits into
base: next
Choose a base branch
from

Conversation

GiudGiud
Copy link
Contributor

@GiudGiud GiudGiud commented Oct 6, 2024

the nearest-position mode (which could cover nearest-subapp) was taking a big hit on performance on cases with very many subapps, because it was creating a KDtree for every (global) sub-app

This fixes that problem, and adds minor other optimizations for speed & scalability

PR has ballooned to include:

  • a nearest positions K-means inspired partitioner
  • partitioning of the subapps

@GiudGiud GiudGiud self-assigned this Oct 6, 2024
- only use the minimal number of KDTree (# local apps) rather than the number of positions (global #of apps)
refs idaholab#23585

Apply suggestions from code review
Add a special case bypassing bounding boxes for nearest-app mode to determine the source processors
refs idaholab#28782
@moosebuild
Copy link
Contributor

moosebuild commented Oct 6, 2024

Job Documentation, step Docs: sync website on 328eeff wanted to post the following:

View the site here

This comment will be updated on new commits.

…oner

Avoid ignoring user parameters when they dont match the number of MPI
closes idaholab#28787
- add an automatic option, for each level
- make sure we can constrain the selections
positions_array[int(float(i) / n_positions * n_bins)].push_back(positions[i]);

if (n_bins > n_positions)
mooseError("Not implemented for more MPI processes than positions");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably a good use for the documented error?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants