A Left-Looking Selected Inversion Algorithm and Task Parallelism on Shared Memory Systems

04/09/2016
by   Mathias Jacquelin, et al.
0

Given a sparse matrix A, the selected inversion algorithm is an efficient method for computing certain selected elements of A^-1. These selected elements correspond to all or some nonzero elements of the LU factors of A. In many ways, the type of matrix updates performed in the selected inversion algorithm is similar to that performed in the LU factorization, although the sequence of operation is different. In the context of LU factorization, it is known that the left-looking and right-looking algorithms exhibit different memory access and data communication patterns, and hence different behavior on shared memory and distributed memory parallel machines. Corresponding to right-looking and left-looking LU factorization, selected inversion algorithm can be organized as a left-looking and a right-looking algorithm. The parallel right-looking version of the algorithm has been developed in [1]. The sequence of operations performed in this version of the selected inversion algorithm is similar to those performed in a left-looking LU factorization algorithm. In this paper, we describe the left-looking variant of the selected inversion algorithm, and based on task parallel method, present an efficient implementation of the algorithm for shared memory machines. We demonstrate that with the task scheduling features provided by OpenMP 4.0, the left-looking selected inversion algorithm can scale well both on the Intel Haswell multicore architecture and on the Intel Knights Corner (KNC) manycore architecture. Compared to the right-looking selected inversion algorithm, the left-looking formulation facilitates pipelining of work along different branches of the elimination tree, and can be a promising candidate for future development of massively parallel selected inversion algorithms on heterogeneous architecture.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/14/2017

PSelInv - A Distributed Memory Parallel Algorithm for Selected Inversion: the non-symmetric Case

This paper generalizes the parallel selected inversion algorithm called ...
research
01/17/2020

Incomplete selected inversion for linear-scaling electronic structure calculations

Pole Expansion and Selected Inversion (PEXSI) is an efficient scheme for...
research
05/18/2023

Blockwise inversion and algorithms for inverting large partitioned matrices

Using the blockwise matrix inversion, inversions of large matrices with ...
research
04/12/2021

Efficient algorithms for computing a rank-revealing UTV factorization on parallel computing architectures

The randomized singular value decomposition (RSVD) is by now a well esta...
research
07/29/2016

An Asynchronous Task-based Fan-Both Sparse Cholesky Solver

Systems of linear equations arise at the heart of many scientific and en...
research
07/21/2018

Fast Matrix Inversion and Determinant Computation for Polarimetric Synthetic Aperture Radar

This paper introduces a fast algorithm for simultaneous inversion and de...
research
02/11/2023

TPE-Net: Track Point Extraction and Association Network for Rail Path Proposal Generation

One essential feature of an autonomous train is minimizing collision ris...

Please sign up or login with your details

Forgot password? Click here to reset