ParGeo: A Library for Parallel Computational Geometry

07/05/2022
by   Yiqiu Wang, et al.
0

This paper presents ParGeo, a multicore library for computational geometry. ParGeo contains modules for fundamental tasks including kd-tree based spatial search, spatial graph generation, and algorithms in computational geometry. We focus on three new algorithmic contributions provided in the library. First, we present a new parallel convex hull algorithm based on a reservation technique to enable parallel modifications to the hull. We also provide the first parallel implementations of the randomized incremental convex hull algorithm as well as a divide-and-conquer convex hull algorithm in ℝ^3. Second, for the smallest enclosing ball problem, we propose a new sampling-based algorithm to quickly reduce the size of the data set. We also provide the first parallel implementation of Welzl's classic algorithm for smallest enclosing ball. Third, we present the BDL-tree, a parallel batch-dynamic kd-tree that allows for efficient parallel updates and k-NN queries over dynamically changing point sets. BDL-trees consist of a log-structured set of kd-trees which can be used to efficiently insert, delete, and query batches of points in parallel. On 36 cores with two-way hyper-threading, our fastest convex hull algorithm achieves up to 44.7x self-relative parallel speedup and up to 559x speedup against the best existing sequential implementation. Our smallest enclosing ball algorithm using our sampling-based algorithm achieves up to 27.1x self-relative parallel speedup and up to 178x speedup against the best existing sequential implementation. Our implementation of the BDL-tree achieves self-relative parallel speedup of up to 46.1x. Across all of the algorithms in ParGeo, we achieve self-relative parallel speedup of 8.1–46.61x.

READ FULL TEXT

page 5

page 7

page 11

page 13

page 17

page 19

page 23

page 25

research
12/12/2021

Parallel Batch-Dynamic kd-Trees

kd-trees are widely used in parallel databases to support efficient neig...
research
03/23/2018

Parallel Range, Segment and Rectangle Queries with Augmented Maps

The range, segment and rectangle query problems are fundamental problems...
research
10/05/2020

A Parallel Batch-Dynamic Data Structure for the Closest Pair Problem

We propose a theoretically-efficient and practical parallel batch-dynami...
research
03/23/2018

Parallel Range and Segment Queries with Augmented Maps

The range and segment query problems are fundamental problems in computa...
research
04/14/2023

Efficient Incremental Penetration Depth Estimation between Convex Geometries

Penetration depth (PD) is essential for robotics due to its extensive ap...
research
01/13/2012

Finding Convex Hulls Using Quickhull on the GPU

We present a convex hull algorithm that is accelerated on commodity grap...
research
11/22/2021

Theoretically and Practically Efficient Parallel Nucleus Decomposition

This paper studies the nucleus decomposition problem, which has been sho...

Please sign up or login with your details

Forgot password? Click here to reset