ArborX issueshttps://code.ornl.gov/6da/ArborX/-/issues2020-04-20T21:20:51Zhttps://code.ornl.gov/6da/ArborX/-/issues/275Using ArborX when data does not fit on a GPU2020-04-20T21:20:51ZArndt, DanielUsing ArborX when data does not fit on a GPU*Created by: aprokop*
There are two scenarios here:
1) The primitives data fits, but results do not
2) The primitives data does not fit
This issue it not for immediate fix, just something to keep in mind, and let other applications...*Created by: aprokop*
There are two scenarios here:
1) The primitives data fits, but results do not
2) The primitives data does not fit
This issue it not for immediate fix, just something to keep in mind, and let other applications record their needs here.https://code.ornl.gov/6da/ArborX/-/issues/201Capture Use Case: Distance to Wall2020-02-21T20:30:25ZArndt, DanielCapture Use Case: Distance to Wall*Created by: overfelt*
Just capturing the details of a use case at the request of ArborX developers, not a bug or feature request.
I have an application where the distance from points in the volume to the nearest wall is required f...*Created by: overfelt*
Just capturing the details of a use case at the request of ArborX developers, not a bug or feature request.
I have an application where the distance from points in the volume to the nearest wall is required for a turbulence model. One way we would like to calculate these values is to use ArborX to determine a few points on the surface that are closest to each point in the volume and then narrow the distance with a detailed calculation. This will be compared to a PDE based approach at scale and in parallel. In any case, the ArborX approach could be used for an initial guess for a PDE solve which would then be used for the small update to the distance given small mesh motions.
https://code.ornl.gov/6da/ArborX/-/issues/161Friends-of-Friends Query2020-04-27T21:51:51ZArndt, DanielFriends-of-Friends Query*Created by: sslattery*
In many cosmology applications a Friends-of-Friends (FOF) query is used to identify clustering in point clouds. In general, the algorithm is as follows:
1. Build a tree from a set of input points
2. Establish...*Created by: sslattery*
In many cosmology applications a Friends-of-Friends (FOF) query is used to identify clustering in point clouds. In general, the algorithm is as follows:
1. Build a tree from a set of input points
2. Establish a fixed neighborhood radius `r`
3. For every point, locate the other points in the tree that are within distance `r`
4. For every neighboring point within distance `r`, find its neighboring points that are within distance `r` excluding any neighbors already found previously in the query
5. For each neighbor-of-neighbor repeat step 4 until no more points are found within distance `r`
The end result of each query should be a list of points that are within distance `r` of the query point, or are a neighbor-of-neighbors-of-neighbors-etc... of the query point.
Some questions:
1. It was mentioned that we could possibly cap the amount of recursion in the algorithm to a fixed depth of neighbors. Does this provide a benefit? If so what are reasonable values?
2. The output of the query could be in our standard structure in a CSR-like format where each query returns a set of object ids that satisfied the query predicate. However, many particles will belong to the same cluster and this cluster will be repeated for each point in it, thus potentially resulting in a large amount of memory needed for the query results depending on the structure of the cluster. What is the most useful output format of this type of query? Should we return clusters rather than results for individual points? Or return clusters as well as a list for each point of the cluster in which it is located?https://code.ornl.gov/6da/ArborX/-/issues/6Examine possible use of ArborX in Exawind/TIOGA2020-03-20T15:08:26ZArndt, DanielExamine possible use of ArborX in Exawind/TIOGA*Created by: aprokop*
Many of ExaWind project simulations operate on overset meshes. Such simulations perform search operation every time step to establish the connectivity between meshes. This may take a significant amount of time (acc...*Created by: aprokop*
Many of ExaWind project simulations operate on overset meshes. Such simulations perform search operation every time step to establish the connectivity between meshes. This may take a significant amount of time (according to Shreyas, it may take 20-30% of time in some simulations).
From what I understand, the search has three steps:
1. Posing the problem
What to search? The boundaries of one mesh. Determination is done
in pre-processing.
2. Doing coarse search.
3. Doing fine search.
Not exactly sure what's going on here, but it involves traversal of
local stencils.
The related code seems to be [here](https://github.com/Exawind/nalu-wind/blob/master/src/overset/TiogaSTKIface.C#L120) in Nalu, and [here](https://github.com/jsitaraman/tioga/blob/52199da1617dac0a0363fe83ca088c97f40494f1/src/search.C) in Tioga.
We should investigate the possibility of inserting ArborX into this interplay, especially given that Nalu is starting to get interested in running on GPUs.