Litcius/Paper detail

ArborX

Damien Lebrun-Grandié, Andrey Prokopenko, Bruno Turcksin, Stuart Slattery

2020ACM Transactions on Mathematical Software26 citationsDOIOpen Access PDF

Abstract

Searching for geometric objects that are close in space is a fundamental component of many applications. The performance of search algorithms comes to the forefront as the size of a problem increases both in terms of total object count as well as in the total number of search queries performed. Scientific applications requiring modern leadership-class supercomputers also pose an additional requirement of performance portability, i.e., being able to efficiently utilize a variety of hardware architectures. In this article, we introduce a new open-source C++ search library, ArborX, which we have designed for modern supercomputing architectures. We examine scalable search algorithms with a focus on performance, including a highly efficient parallel bounding volume hierarchy implementation, and propose a flexible interface making it easy to integrate with existing applications. We demonstrate the performance portability of ArborX on multi-core CPUs and GPUs and compare it to the state-of-the-art libraries such as Boost.Geometry.Index and nanoflann.

Topics & Concepts

Computer scienceSoftware portabilityScalabilityInterface (matter)SupercomputerParallel computingComponent (thermodynamics)Focus (optics)HierarchyComputer architectureComputer engineeringComputational scienceOperating systemEconomicsThermodynamicsOpticsBubblePhysicsMarket economyMaximum bubble pressure methodData Management and AlgorithmsAdvanced Image and Video Retrieval TechniquesComputational Geometry and Mesh Generation