Kaya, Kamer (2019) Parallel algorithms for computing sparse matrix permanents. Turkish Journal of Electrical Engineering and Computer Sciences, 27 (6). pp. 4284-4297. ISSN 1300-0632 (Print) 1303-6203 (Online)
Full text not available from this repository. (Request a copy)
Official URL: https://dx.doi.org/10.3906/ELK-1904-135
Abstract
The permanent is an important characteristic of a matrix and it has been used in many applications. Unfortunately, it is a hard to compute and hard to approximate the immanant. For dense/full matrices, the fastest exact algorithm, Ryser, has O(2n−1n) complexity. In this work, a parallel algorithm, SkipPer, is proposed to exploit the sparsity within the input matrix as much as possible. SkipPer restructures the matrix to reduce the overall work, skips the unnecessary steps, and employs a coarse-grain, shared-memory parallelization with dynamic scheduling. The experiments show that SkipPer increases the performance of exact permanent computation up to 140× compared to the naive version for general matrices. Furthermore, thanks to the coarse-grain parallelization, 14–15× speedup on average is obtained with τ = 16 threads over sequential SkipPer. Overall, by exploiting the sparsity and parallelism, the speedup is 2000× for some of the matrices used in the experimental setting. The proposed techniques in this paper can be used to significantly improve the performance of exact permanent computation by simply replacing Ryser with SkipPer, especially when the matrix is highly sparse.
Item Type: | Article |
---|---|
Uncontrolled Keywords: | Load balancing; Multicore CPUs; Permanent; Ryser’s algorithm; Shared-memory parallelism; Sparse matrices |
Divisions: | Faculty of Engineering and Natural Sciences > Academic programs > Computer Science & Eng. Faculty of Engineering and Natural Sciences |
Depositing User: | Kamer Kaya |
Date Deposited: | 29 Jul 2023 11:39 |
Last Modified: | 29 Jul 2023 11:39 |
URI: | https://research.sabanciuniv.edu/id/eprint/46402 |