DeepAI AI Chat
Log In Sign Up

A Graph Transformation Strategy for Optimizing SpTRSV

by   Buse Yilmaz, et al.

Sparse triangular solve (SpTRSV) is an extensively studied computational kernel. An important obstacle in parallel SpTRSV implementations is that in some parts of a sparse matrix the computation is serial. By transforming the dependency graph, it is possible to increase the parallelism of the parts that lack it. In this work, we present an approach to increase the parallelism degree of a sparse matrix, discuss its limitations and possible improvements, and we compare it to a previous manual approach. The results provide several hints on how to craft a collection of strategies to transform a dependency graph.


Graph Transformation and Specialized Code Generation For Sparse Triangular Solve (SpTRSV)

Sparse Triangular Solve (SpTRSV) is an important computational kernel us...

Designing and developing tools to automatically identify parallelism

In this work we present a dynamic analysis tool for analyzing regions of...

Batched Sparse Matrix Multiplication for Accelerating Graph Convolutional Networks

Graph Convolutional Networks (GCNs) are recently getting much attention ...

Vectorizing Sparse Matrix Codes with Dependency Driven Trace Analysis

Sparse computations frequently appear in scientific simulations and the ...

Uniting Control and Data Parallelism: Towards Scalable Memory-Driven Dynamic Graph Processing

Control parallelism and data parallelism is mostly reasoned and optimize...

GLU3.0: Fast GPU-based Parallel Sparse LU Factorization for Circuit Simulation

In this article, we propose a new GPU-based sparse LU factorization meth...

Observe Locally, Classify Globally: Using GNNs to Identify Sparse Matrix Structure

The performance of sparse matrix computation highly depends on the match...