Log In Sign Up

Algorithmic patterns for H-matrices on many-core processors

by   Peter Zaspel, et al.

In this work, we consider the reformulation of hierarchical (H) matrix algorithms for many-core processors with a model implementation on graphics processing units (GPUs). H matrices approximate specific dense matrices, e.g., from discretized integral equations or kernel ridge regression, leading to log-linear time complexity in dense matrix-vector products. The parallelization of H matrix operations on many-core processors is difficult due to the complex nature of the underlying algorithms. While previous algorithmic advances for many-core hardware focused on accelerating existing H matrix CPU implementations by many-core processors, we here aim at totally relying on that processor type. As main contribution, we introduce the necessary parallel algorithmic patterns allowing to map the full H matrix construction and the fast matrix-vector product to many-core hardware. Here, crucial ingredients are space filling curves, parallel tree traversal and batching of linear algebra operations. The resulting model GPU implementation hmglib is the, to the best of the authors knowledge, first entirely GPU-based Open Source H matrix library of this kind. We conclude this work by an in-depth performance analysis and a comparative performance study against a standard H matrix library, highlighting profound speedups of our many-core parallel approach.


page 1

page 2

page 3

page 4


Indirection Stream Semantic Register Architecture for Efficient Sparse-Dense Linear Algebra

Sparse-dense linear algebra is crucial in many domains, but challenging ...

A scalable H-matrix approach for the solution of boundary integral equations on multi-GPU clusters

In this work, we consider the solution of boundary integral equations by...

Kernel methods through the roof: handling billions of points efficiently

Kernel methods provide an elegant and principled approach to nonparametr...

PyLops – A Linear-Operator Python Library for large scale optimization

Linear operators and optimisation are at the core of many algorithms use...

Fast and Green Computing with Graphics Processing Units for solving Sparse Linear Systems

In this paper, we aim to introduce a new perspective when comparing high...

A linear parallel algorithm to compute bisimulation and relational coarsest partitions

The most efficient way to calculate strong bisimilarity is by calculatio...