-
Notifications
You must be signed in to change notification settings - Fork 6
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
ArborX neighbor search #250
base: master
Are you sure you want to change the base?
Conversation
- Option check_same=true by default now, as the dry-run, then allocating, then re-running approach checks if the same number of neighbors are found for each target, in each search. - For searches without a dry-run, this check would previously always fail, so this allows a disable of that check.
- If Compadre_USE_ARBORX is not set to on, then default back to nanoflann search routine
…for floats - Added SEARCH_SCALAR_EPS conditional on which neighbor search routine is being used (1e-7 for ArborX and 1e-14 for Nanoflann) because ArborX searches using floats and Nanoflann searches using doubles. - Modified tests and search routine to make the various casts explicit.
…changes API) - ArborX neighbor search will ignore all do_dry_run bool flags and do full neighbor search with no recursive calls - Nanoflann is broken until next commit when dry-run/real-run is built into recursive calls
- Switches itself from dry-run to storing results (with resizing) all through a single call - Changed size_t returns from search methods to void
- Replaces internals of 2D searches for Nanoflann
- Replaces two definitions with one for both radius and KNN search - Removed parameter do_dry_run from all rank 2 layout searches
- Changed a type to a decltype
Overall, I think the code in But this are small potatoes. |
@kuberry Just a quick question: do you plan to use ArborX path for any real applications? Or is the plan right now to simply have it in if a need arises? I would be really interested to see the benefits if its the former, and see what can be improved. |
Compadre is a Trilinos package as well, so it is hard to say who all of the external users are. It is used in a number of projects at Sandia. Many of them that relate to circuit simulation are calling it in serial, however (query a single current for a voltage, query a single current for a voltage, ....). |
Add ArborX as an option for neighbor search, enabling GPU accelerated neighbor search.
What has been done:
What remains:
This PR changes the API for neighbor search with respect to the location of
is_dry_run
becomingdo_dry_run
, getting a default value of true (never to be changed manually by a user).