Accelerating Concurrent Heap on GPUs

06/15/2019
by   Yanhao Chen, et al.
0

Priority queue, often implemented as a heap, is an abstract data type that has been used in many well-known applications like Dijkstra's shortest path algorithm, Prim's minimum spanning tree, Huffman encoding, and the branch-and-bound algorithm. However, it is challenging to exploit the parallelism of the heap on GPUs since the control divergence and memory irregularity must be taken into account. In this paper, we present a parallel generalized heap model that works effectively on GPUs. We also prove the linearizability of our generalized heap model which enables us to reason about the expected results. We evaluate our concurrent heap thoroughly and show a maximum 19.49X speedup compared to the sequential CPU implementation and 2.11X speedup compared with the existing GPU implementation. We also apply our heap to single source shortest path with up to 1.23X speedup and 0/1 knapsack problem with up to 12.19X speedup.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/09/2022

A Novel Faster All-Pair Shortest Path Algorithm Based on the Matrix Multiplication for GPUs

The shortest path problem is a class of typical problems in graph theory...
research
08/25/2019

A parallel priority queue with fast updates for GPU architectures

The high computational throughput of modern graphics processing units (G...
research
07/01/2022

A single-tree algorithm to compute the Euclidean minimum spanning tree on GPUs

Computing the Euclidean minimum spanning tree (EMST) is a computationall...
research
10/21/2021

Targeted Multiobjective Dijkstra Algorithm

In this paper, we introduce the Targeted Multiobjective Dijkstra Algorit...
research
03/28/2019

More Parallelism in Dijkstra's Single-Source Shortest Path Algorithm

Dijkstra's algorithm for the Single-Source Shortest Path (SSSP) problem ...
research
06/28/2021

Leveraging GPU batching for scalable nonlinear programming through massive Lagrangian decomposition

We present the implementation of a trust-region Newton algorithm ExaTron...
research
09/20/2018

SoaAlloc: Accelerating Single-Method Multiple-Objects Applications on GPUs

We propose SoaAlloc, a dynamic object allocator for Single-Method Multip...

Please sign up or login with your details

Forgot password? Click here to reset