ArborX 2.0
- Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
ArborX library tackles a problem of efficiently finding geometric objects that are close in space. Variations of this problem, such as finding the nearest neighbors of a point, or finding all objects within a certain distance, are inherent components of applications in many fields. The data may be large so that solving the problem efficiently may require significant computational resources, such as multiple processors or accelerators such as general purpose GPUs. ArborX' main advantage in its ability to solve large problems efficiently utilizing a combination of distributed and on-node parallelism. ArborX can be run efficiently on a wide variety of hardware, including GPUs from different vendors, which distinguishes it from other available libraries which typically choose only few of these. The other advantage is that it supports both types of user problems: spatial problems (useful for intersections and finding objects within certain distance), and nearest neighbor problems. ArborX also supports flexible interface in its interaction with a user. Particularly, it allows a user to call user's own function on a positive match, a functionality not rarely available in other libraries. ArborX implements construction and traversal algorithms using efficient tree structures, such as bounding volume hierarchy (BVH). At its core, ArborX uses linear BVH for its low construction cost and sufficient quality. ArborX implements both spatial and nearest-neighbor traversal algorithms. ArborX also provides several clustering algorithms (minimum spanning tree, DBSCAN, HDBSCAN*), interpolation using minimum least squares and ray tracing. ArborX is written using C++, and is parallelized using the message passing interface (MPI) for the distributed communication, and the Kokkos library for on-node parallelism. This approach allows ArborX to be run on a wide variety of hardware, from common laptops and desktops to supercomputers while using the same codebase.
- Short Name / Acronym:
- ArborX
- Software Type:
- Scientific
- License(s):
- BSD 3-clause "New" or "Revised" License
- Programming Language(s):
- C++
- Research Organization:
- Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
- Sponsoring Organization:
- USDOE Office of Science (SC), Advanced Scientific Computing Research (ASCR)Primary Award/Contract Number:AC05-00OR22725
- DOE Contract Number:
- AC05-00OR22725
- Code ID:
- 154205
- OSTI ID:
- code-154205
- Country of Origin:
- United States
Similar Records
Advances in ArborX to support exascale applications
A single-tree algorithm to compute the Euclidean minimum spanning tree on GPUs
ArborX: A Performance Portable Geometric Search Library
Journal Article
·
Thu Nov 07 23:00:00 EST 2024
· International Journal of High Performance Computing Applications
·
OSTI ID:2483951
A single-tree algorithm to compute the Euclidean minimum spanning tree on GPUs
Conference
·
Sat Dec 31 23:00:00 EST 2022
· Proceedings of the International Conference on Parallel Processing
·
OSTI ID:1922321
ArborX: A Performance Portable Geometric Search Library
Journal Article
·
Sat Dec 05 23:00:00 EST 2020
· ACM Transactions on Mathematical Software
·
OSTI ID:1735467